JavaBookStudy / JavaBook

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

[토비의 스프링] 4.2.4_DataACcessException의 한계에 대하여 #91

Closed daebalprime closed 3 years ago

daebalprime commented 3 years ago

DataAccessException을 통해서 서로 다른 DB의 에러코드는 일관성 있는 예외로 매핑을 할 수 있습니다. 여기서 든 궁금한점은, 서로 다른 DB사이의 매핑 뿐 아니라 JPA등의 기술과도 충분히 일관성 있는 매핑이 가능하지 않았을까 하는 궁금증이 있습니다. DB를 다루는 퍼시스턴스 API들은 자체 기능을 제외한 DB 자체의 무결성 등의 문제에 있어서는 JDBC와 큰 차이가 있을거라고는 생각하지 않기 때문입니다.

정답이 궁금한 건 아니라서 각자 의견 주시면 좋을 것 같습니다.

kjsu0209 commented 3 years ago

DataAccessException을 통해서 서로 다른 DB의 에러코드는 일관성 있는 예외로 매핑을 할 수 있습니다.

DataAccessException은 서로 다른 DB가 아니라 다양한 데이터 액세스 기술을 사용했을 때 발생하는 예외를 일관성 있게 매핑해주는게 아닌가요? DB와 데이터 액세스 기술은 다른 의미라고 생각됩니다.

DB를 다루는 퍼시스턴스 API들은 자체 기능을 제외한 DB 자체의 무결성 등의 문제에 있어서는 JDBC와 큰 차이가 있을거라고는 생각하지 않기 때문입니다.

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