개발/spring

[트랜잭션] 트랜잭션을 위한 Exception 종류 알아보기

나태쿤 2022. 12. 28. 23:11
728x90

 

RuntimeException 를 상속하는 Exception 클래스는 UnChecked Exception이라고 말할 수 있다

그 이외에는 Checked Exception이라 생각하면 된다.

 

이게 왜 필요하냐면

 

Spring에서 @Transaction() 어노테이션을 사용할때 

항상 롤백하는것이 아니기때문이다 

스프링은 UnChecked Exception 타입만 롤백해준다. 따라서 최상위 Exception 으로 예외를 던지면 롤백되지않는다.

(단, @Transaction(rollbackfor = exception.class) 예외 속성을 직접 어노테이션에 적어주면 가능)

 

 

 

728x90