어떤 예외가 발생하면 트랜잭션을 롤백하나요?

관련 개념: @Transactional · Exception · @Repository

예외 종류에 따른 트랜잭션 롤백은 개발 환경에 따라 다르게 동작합니다.

Spring 트랜잭션 예외 처리 동작

기본 동작과 별개로 @Transactional 의 rollbackFor나 noRollbackFor 속성을 사용하여 특정 Checked Exception에 대해서도 롤백을 유도하거나, 반대로 Unchecked Exception에 대해 롤백하지 않도록 설정할 수 있습니다.

반면, 자바(EE) 환경에서는 컨테이너가 관리하는 트랜잭션(CMT)과 개발자가 직접 관리하는 프로그래밍 방식의 트랜잭션 제어 모두 존재하며, 이들 환경에서는 트랜잭션 롤백 동작이 Spring과는 다르게 동작할 수 있습니다.

추가 학습 자료를 공유합니다.

CSLOG에서 보기