본문 바로가기
SpringBoot

@Transactional 롤백

by 오렌지마끼야또 2024. 7. 22.
728x90
반응형

 

 

 

 

 

 

 

@Transactional이 적용된 메서드 안에서 unchecked exception (RuntimeException, NullPointerException 등)이 발생하면 해당 트랜잭션은 기본적으로 롤백되고, aborted(중단) 상태로 전환됩니다. 이로 인해 트랜잭션 블록 내의 다른 SQL 명령문이 실행되지 않으며, "current transaction is aborted, commands ignored until end of transaction block"와 같은 오류 메시지가 나타납니다.

예를 들어, 키중복 등으로 인해 DataIntegrityViolationException이 발생하여 트랜잭션이 롤백되면, 트랜잭션 블록 내의 후속 SQL 명령은 무시됩니다.

 

 

checked exception (예: IOException 등)에서는 롤백되지 않습니다. 이런 예외는 catch 블록에서 처리할 수 있습니다.

 

 

 

 

 

 

 

728x90
반응형

댓글