개발/spring
[트랜잭션] 트랜잭션을 위한 Exception 종류 알아보기
나태쿤
2022. 12. 28. 23:11
728x90
RuntimeException 를 상속하는 Exception 클래스는 UnChecked Exception이라고 말할 수 있다
그 이외에는 Checked Exception이라 생각하면 된다.
이게 왜 필요하냐면
Spring에서 @Transaction() 어노테이션을 사용할때
항상 롤백하는것이 아니기때문이다
스프링은 UnChecked Exception 타입만 롤백해준다. 따라서 최상위 Exception 으로 예외를 던지면 롤백되지않는다.
(단, @Transaction(rollbackfor = exception.class) 예외 속성을 직접 어노테이션에 적어주면 가능)
728x90