[JPA] 예외처리

Stormi·2022년 7월 5일
0

JPA

목록 보기
2/4

JPA의 표준 예외

  • 트랜잭션 롤백을 표시하는 예외
  • 트랙잭션 롤백을 표시하지 않는 예외

JPA의 예외를 spring이 변환해서 날리는 것이다.

트랜잭션 롤백을 표시하는 예외는 심각한 예외이므로 복구해서는 안된다. 이 예외가 발생하면 트랜잭션을 강제로 커밋해도 트랜잭션이 커밋되지 않고 대신에 javax.persistence.RollbackException 예외가 발생한다.

이것은 @Transactional 이 어노테이션이 AOP를 실행해서 commit 하는 순간에 RollbackException이 생기는 것으로 보면된다.

트랜잭션 롤백을 표시하지 않는 예외는 ? DB가 이해할만한 합리적인 상황이라고 보면된다

즉, DB가 Exception을 날리면 JPA를 상속받은 hibernate나, 여러가지 방언들이 있는데, 이것들이 익셉션을 다르게 보내는 데 spring이 통일해서 예외처리를 해준다.

0개의 댓글