JavaBookStudy / JavaBook

책읽기 스터디
https://javabookstudy.github.io/
Apache License 2.0
19 stars 2 forks source link

[토비의 스프링] 4.2.4_DataAccessException #92

Closed jth2747 closed 3 years ago

jth2747 commented 3 years ago

아래 질문의 정수님 답변에서 궁금한 것이 생겨 새로 질문을 달겠습니다.

DataAccessException은 ORM에서는 발생하지만 JDBC에서 발생하지 않는 예외같은 경우에도 추상화된 예외를 던진다고 합니다. DB자체의 무결성과 관련된 예외 클래스는 상위 개념 예외를 JPA나 Jdbc같은 기술에 맞게 구체화되어 있습니다. 따라서 DB 자체의 무결성 등의 Jdbc와 공유되는 문제는 추상화된 상위 개념 예외를 사용하면 데이터 액세스 기술 구분 없이 처리 가능해집니다.

각 데이터 액세스 기술에 맞게 예외가 구체화되어 있는데 상위 개념의 예외를 사용하는 이유는 무엇인가요? 혹여나 생길 액세스 기술의 교체라던가 그런 수정에 유연해지기 위해서인가요?