2010-03-03 68 views
1

我在Spring以外的DAO中使用JPA。 Spring框架定义了独立于数据库实现的DataAccessException。非Spring用户使用Spring数据访问异常而不是JPA有什么优势?我猜Spring数据访问异常存在,因为Spring处理几个底层(如Hibernate,Jpa,jdo,jdbc),并且只有当我的应用程序有使用多种技术的DAO时,Spring数据访问异常堆栈才有用通用的标准接口(如JPA)。使用Spring DataAccessExceptions而不是JPA PersistenceExceptions有什么好处吗?

我对不对?

回答

2

我会说你几乎没有。另一个优点是DataAccessExceptions(CleanupFailure,SQLGrammar等等)不在我头顶,所以DAO可以被编程为明确地捕获您可能期望的特定异常。

但是,由于您通常不会期望发生数据访问错误,因此通常不会将其取消,因此通常不需要DataAccessException的完整目的。我曾经是DataAccessException层次结构的狂热粉丝,但实际上我很少需要它,所以我现在很乐意处理原始JPAException)。

相关问题