인프런 커뮤니티 질문&답변

cpu500m님의 프로필 이미지
cpu500m

작성한 질문수

스프링 DB 2편 - 데이터 접근 활용 기술

트랜잭션 전파 관련 질문 있습니다

작성

·

132

0

안녕하세요!

기본옵션으로

내부 트랜잭션에서 롤백을 하고 외부 트랜잭션에서 커밋이 이루어지는 경우 UnexpectedRollbackException 예외를 던지지만

내부 트랜잭션 커밋 , 외부 트랜잭션 롤백이 이뤄질 때 예외를 던지지 않는 이유가 궁금합니다!

두 경우 모두 물리 트랜잭션은 롤백이 이루어지는 것인데

후자의 경우도 개발자가 내부 트랜잭션 작업은 커밋이 이루어졌다고 오인할 수 있는 부분이 아닌가요?

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. cpu500m님

외부 트랜잭션이 롤백을 명령하면, 명확하게 전체 트랜잭션(내부와 외부 모두 포함)이 롤백됩니다.

참고로 이 경우 내부 트랜잭션을 커밋하더라도 논리적 커밋이기 때문에 실제 커밋이 발생하지 않습니다.

따라서 개발자가 오인하는 문제는 발생하지 않습니다^^

감사합니다.

cpu500m님의 프로필 이미지
cpu500m

작성한 질문수

질문하기