본문 바로가기

transaction propagation2

트랜잭션 전파(REQUIRES_NEW) 내부 트랜잭션에 롤백이 발생해도 외부 트랜잭션을 커밋 하는 방법은 없을까?  이번 글은 트랜잭션 전파 옵션 중 REQUIRES_NEW에 대해 소개하고, 예제 코드를 통해 알아보겠습니다.아래의 글은 김영한님의 Spring DB V2 강의를 참고해서 작성했습니다. REQUIRES_NEW 옵션은 무엇일까요? REQUIRES_NEW 옵션REQUIRES_NEW 옵션은 외부 트랜잭션과 내부 트랜잭션을 완전히 분리해서 각각 별도의 물리 트랜잭션을 사용하는 방법입니다. 그래서 커밋과 롤백도 REQUIRES 옵션과 다르게 각각 실행합니다. 내부 트랜잭션에 롤백이 발생해도 외부 트랜잭션에 영향을 주지 않게 됩니다. 반대로 외부 트랜잭션에 롤백이 발생해도 내부 트랜잭션에 영향을 주지 않게 됩니다. 별도의 트랜잭션을 사용하기.. 2025. 2. 14.
트랜잭션 전파(REQUIRED) COMMIT편 진행중인 트랜잭션 내부에 또 다른 트랜잭션을 실행하면 어떻게 될까? 아래의 내용은 김영한님의 Spring DB V2 강의를 참고해서 작성했습니다. 이번글은 트랜잭션 전파에 대한 개념과 코드 예제를 통해 흐름을 알아보겠습니다.트랜잭션 전파 옵션은 여러개가 있지만, REQUIRED를 기준으로 작성했습니다. 트랜잭션 내부에 또 다른 트랜잭션을 실행하는 경우, 기존 트랜잭션을 사용해야할까요? 아니면 새로운 트랜잭션을 시작해야할까요? 트랜잭션 전파트랜잭션 전파는 현재 실행 중인 트랜잭션이 있을 때, 새로운 트랜잭션을 생성할지 기존 트랜잭션을 그대로 사용할지를 결정하는 방식입니다. 트랜잭션 전파는 어떠한 방식으로 사용될까요? 외부 트랜잭션이 수행중인 상태에서 내부 트랜잭션이 추가 수행되는 상황을 가정합니다. 왜 외.. 2025. 2. 12.