Framework/Spring
[Spring] Transactional Propagation
트랜잭션을 다루면서 Propagation 설정을 사용하는 일이 있었다. 특히나 REQUIRES_NEW를 사용했는데 무슨 말인지 이해가 되지 않았다. 무슨 부모 spring에서 부모와 트랜잭션을 동일한 범위로 묶지 않기 위해서 사용한다는 말을 했는데.. 아래서 한번 알아보자. Propagation 일단 Propagation의 옵션들을 정리하면 아래와 같다. 옵션 설명 REQUIRED [기본 옵션] 부모 트랜잭션이 존재한다면 부모 트랜잭션에 합류, 그렇지 않다면 새로운 트랜잭션을 만든다. 중간에 자식/부모에서 rollback이 발생된다면 자식과 부모 모두 rollback 한다. REQUIRES_NEW 무조건 새로운 트랜잭션을 만든다. nested한 방식으로 메소드 호출이 이루어지더라도 rollback은 각각..
2023. 8. 2. 20:40