transactional

    [Spring] @Transactional 어노테이션 동작방식

    서버개발을 하다보면 특히 DB와 연동되는 부분에서 @Transactional 어노테이션이 자주 쓰입니다. 어노테이션을 붙여주는 것만으로도 DB에 수행되는 쿼리들을 하나의 transaction으로 묶어줄 수 있으며, 속성에 따라서는 exception 종류에 따라 rollback 도 가능합니다. 어떻게 어노테이션을 붙여주는 것만으로도 이것이 가능할까요? 지금부터 알아봅시다. @Transactional 어노테이션은 Proxy 방식으로 동작한다 "어노테이션을 붙여서 Proxy 방식으로 동작한다" 어디서 많이 보시지 않았나요? 네 맞습니다. @Transactional 어노테이션은 Spring AOP의 대표적인 예입니다. 혹시 AOP에 대해 아직 모르신다면 아래 글을 먼저 읽고 와주세요! [Spring] AOP -..

    [Spring Boot] @Transactional 어노테이션 속성

    [JPA] 영속성 컨텍스트(Persistence Context)란? 편에서 자주 등장했던 단어 트랜잭션(Transaction)이 있습니다. Spring Boot 에서는 @Transactional 어노테이션을 통해 해당 메소드가 하나의 트랜잭션으로 묶여있다는걸 명시하는데요! 이 @Transactional 어노테이션에는 개발자가 커스텀할 수 있는 여러가지 옵션이 있습니다. 한번 살펴볼까요? Propagation 옵션 이벤트 버블링과 캡쳐링 편에서도 등장했던 Propagation이라는 단어가 다시 등장했습니다. 바로 브랜드 E 스킬처럼 전파라는 의미를 가지고 있는데요. @Transactional을 쓸 때, 스프링은 트랜잭션의 시작과 중지를 propagation 세팅을 바탕으로 관리하는데요, 이 Propagat..