[Spring] @Transactional의 8가지 함정
·
Framework/Spring
안녕하세요.지난 글에서는 @Transactional의 개념과 동작 원리에 대해 정리했습니다.@Transactional은 Spring AOP 기반의 프록시 방식으로 동작하며, 기본 롤백 정책이 RuntimeException과 Error에만 적용된다는 점을 살펴봤습니다.이제 실제 운영 환경에서 트랜잭션이 어떻게 문제로 이어지는지 살펴보겠습니다.대부분의 트랜잭션 이슈는 결국 두 가지 원인에서 시작됩니다.@Transactional은 프록시가 메서드 호출을 가로채는 방식으로 동작한다.체크 예외(Exception 및 하위)는 기본적으로 롤백되지 않는다.[Caller] ↓[프록시] ↓ 트랜잭션 시작[실제 Bean] ↓[프록시] ↓ 커밋 / 롤백이번 글에서는 운영에서 자주 마주치는 @Transaction..