Spring Transaction 사용 시 주의할 점
트랜잭션 안에서 트랜잭션을 새로 여는 경우 PROPAGATION_REQUIRED를 사용할 때 주의 사항 Spring이 기본값으로 사용하는 propagation behavior는 PROPAGATION_REQUIRED 이다. 이 옵션을 사용하면 어떤 트랜잭션 안에서 TransactionTemplate 을 통해 트랜잭션을 열려고 시도할 경우, AbstractPlatformTransactionManager.getTransact 는 이미 열려있는 기존 트랜잭션을 반환 한다. 이로 인해 발생하는 눈여겨 볼만한 특징에는 두 가지가 있다. 첫 번째 포인트는 안쪽 트랜잭션이 롤백되면 바깥쪽 트랜잭션도 롤백된다는 것이다. 이는 코드 상으로 분리되어 보이는 두 트랜잭셔닝 사실 한 트랜잭션 안에서 실행되고 있기 때문이다. t..
Spring Data Jpa
2021. 9. 25. 20:39