org.springframework.dao 패키지 하위의 예외 클래스를 리스트업 해보았다.
5.2.4 기준이로 일부는 빠져있을 수 있다.
가장 상위가 되는 예외는 DataAccessException 이다.
아래에는 크게 3가지 카테고리로 나눌 수 있다.
- NonTransientDataAccessException: Root of the hierarchy of data access exceptions that are considered non-transient where a retry of the same operation would fail unless the cause of the Exception is corrected.
- RecoverableDataAccessException: Data access exception thrown when a previously failed operation might be able to succeed if the application performs some recovery steps and retries the entire transaction or in the case of a distributed transaction, the transaction branch. At a minimum, the recovery operation must include closing the current connection and getting a new connection.
- TransientDataAccessException: Root of the hierarchy of data access exceptions that are considered transient where a previously failed operation might be able to succeed when the operation is retried without any intervention by application-level functionality.
TransientDataAccessException 는 아래와 같은 계층 구조를 가진다.
NonTransientDataAccessException 는 아래와 같은 계층 구조를 가진다. (꽤 많다!)
PK 같이 Unique해야 하는 값이 입력되었을 경우 발생하는 DuplicateKeyException 도 NonTransientDataAccessException 아래에 속한다.
Not Null 컬럼이 null일 경우에는 DataIntegrityViolationException 가 발생한다.
'Programing > OpenSource' 카테고리의 다른 글
[tomcat] 적어도 하나의 JAR가 TLD들을 찾기 위해 스캔되었으나 아무 것도 찾지 못했습니다. (0) | 2020.11.13 |
---|---|
[tomcat] ARP 경고 해결하기 (0) | 2020.11.13 |
[Spock Framework] Mock vs Stub (0) | 2020.08.31 |
[slf4j] MDC에 put만 계속한다면 (0) | 2020.06.15 |
[JPA] Hibernate + MariaDB : count(*)의 매핑이 BigInteger로 되는 이유는? (0) | 2020.06.12 |