我在Spring之外的DAO中使用JPA。 Spring框架定义了独立于数据库实现的DataAccessExceptions。非Spring用户使用Spring数据访问异常而不是JPA
是否有任何优势?我认为Spring DataAccessExceptions存在,因为Spring处理了几个底层(例如Hibernate,Jpa,jdo,jdbc),并且Spring数据访问异常堆栈只有在我的应用程序让DAO使用几种不常见的技术时才有用标准接口(例如JPA)。
我是对的吗?
答案 0 :(得分:2)
我会说你几乎就在那里。另一个优点是有一系列DataAccessExceptions(CleanupFailure,SQLGrammar等等),所以DAO可以被编程为显式捕获您可能期望的特定异常。
但是,由于您通常不期望数据访问错误,因此通常无论如何都要保留它,因此通常不需要DataAccessException的全部目的。
(我曾经是DataAccessException层次结构的忠实粉丝,但我实际上很少需要它,现在我很乐意处理原始的JPAException。)