[SPRING] @Transactional (트랜잭션) 강제 롤백


[SPRING] @Transactional (트랜잭션) 강제 롤백

본론 로직을 구현하다가 아래와 같은 상황을 마주한 적이 있었다. 트랜잭션 내에서 쿼리작업을 진행하다가 validation을 통해 걸렸을 때 에러는 발생하지 않고, 지금까지 변경된 쿼리를 롤백을 시켜야 할 떄 @Transactional 은 Exception 이 발동할 때만 롤백을 시킨다. c그러면 어떻게 롤백을 시켜야할까? TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 트랜잭션이 롤백하는 방법을 강제적으로 넣어주는 것이다. setRollbackOnly 을 통해 트랜잭션이 종료되었을 때 무조건 롤백을 시키도록 설정하는 것이다. 물론 해당 로직은 리팩토링 작업을 통해 validation과 쿼리작업을 분리하였다. 당장 테스트를 해..


원문링크 : [SPRING] @Transactional (트랜잭션) 강제 롤백