rollbackFor1 아노테이션 드리븐 트랜잭션(@Transactional)에서 Exception을 throw할 경우 롤백(rollback)이 안됩니다. 스프링 프레임웍에서 데이터베이스 트랜잭션 처리를 아노테이션 드리븐으로 설정을 하면 클래스 또는 메소드에 @Transactional 아노테이션을 붙이는 것으로 트랙잭션을 처리할 수 있습니다. 이 경우 주의해야 할 것이 하나 있는데, 직접 Exception 클래스를 던져서 예외를 발생시켜서 트랜잭션을 롤백(rollback) 하려고 하면 롤백이 되지 않는다는 것입니다. 이전에 작성한 글인 "스프링프레임워크 Java config로 MyBatis 사용하기"에 댓글로 질문해 주신 내용중에 이 롤백이 되지 않는 상황에 대한 것이 있어서 답변을 해드렸는데, 글로 작성을 해 두는게 좋을 것 같아서 쓰게 되었습니다. 스프링 프레임워크 설정을 Java Config로 하면서 트랜잭션 처리는 아노테이션 드리븐으로 하는 예제 였.. 2019. 10. 7. 이전 1 다음 반응형