23.11.13 16:22 작성
·
130
0
안녕하세요!
기본옵션으로
내부 트랜잭션에서 롤백을 하고 외부 트랜잭션에서 커밋이 이루어지는 경우 UnexpectedRollbackException 예외를 던지지만
내부 트랜잭션 커밋 , 외부 트랜잭션 롤백이 이뤄질 때 예외를 던지지 않는 이유가 궁금합니다!
두 경우 모두 물리 트랜잭션은 롤백이 이루어지는 것인데
후자의 경우도 개발자가 내부 트랜잭션 작업은 커밋이 이루어졌다고 오인할 수 있는 부분이 아닌가요?
답변 1
1
2023. 11. 14. 21:39
안녕하세요. cpu500m님
외부 트랜잭션이 롤백을 명령하면, 명확하게 전체 트랜잭션(내부와 외부 모두 포함)이 롤백됩니다.
참고로 이 경우 내부 트랜잭션을 커밋하더라도 논리적 커밋이기 때문에 실제 커밋이 발생하지 않습니다.
따라서 개발자가 오인하는 문제는 발생하지 않습니다^^
감사합니다.