Data Access Object 目的是让 data access技术(JDBC,Hibernate,JPA)更容易的被使用。而且让你的不需要担心每种框架的异常捕获问题,因为会有一个统一的处理。

2.1 使异常层次处理一致

Spring提供一个异常转化技术,例如SQLException转化成自己的异常。这些异常都包裹着原始异常,所以你永远也无需担心会丢失异常的问题。
除了的JDBC异常,Spring也会吹JPA和Hibernate异常,把他们转化成一系列runtime异常。这可以让你最清晰的处理某一层异常,无需使用try catch模板。
前面的讨论都是关于ORMS框架的模板类,如果你是用基于拦截器的类,应用肯定会最关心HibernateExceptions和 PersistenceExceptions,他可以委托给onvertHibernateAccessException(…) 或者 convertJpaAccessException() 通过使用SessionFactoryUtils。这些方法会把异常转化成
org.springframework.dao异常相容的异常。当PersistenceExceptions未checked时,也可以被直接抛出。
b spring DAO & 异常处理框架

2.2 用来配置DAO或者Repository的类

b spring DAO & 异常处理框架

@Repository

任何DAO或者repository地实现需要关联持久层资源。
例如JDBC-based的仓库需要关联JDBC的DataSource,
JPA-based的需要关联EntityManager。最简单的方式是使用@Autowired @Inject @Resource或者@PersistenceContext注解去注入。
JPA的模板
b spring DAO & 异常处理框架
Hibernate的模板
b spring DAO & 异常处理框架
JDBC模板
注入dataSource
b spring DAO & 异常处理框架
这个可以看下列章节具体的介绍。

相关文章:

  • 2021-12-01
  • 2022-12-23
  • 2021-09-15
  • 2022-12-23
  • 2021-09-14
  • 2022-01-05
  • 2021-07-05
  • 2021-11-29
猜你喜欢
  • 2021-10-06
  • 2021-12-03
  • 2021-09-23
  • 2022-12-23
相关资源
相似解决方案