【Java.Spring.DataAccess】ORM Data Access

Spring中的ORM

Spring框架提供了对HIbernater, JPA, JDO的整合及管理

推荐的整合方式是使用DAOs,而不是直接使用原生的HIbernate, JPA, JDO APIs.

使用Spring来创建ORM DAOs的优点:

  • 便于测试
  • 通用的data access异常 - Spring包装了ORM工具特有的异常类。可以在合适的层次上对这些异常进行处理,从而避免了在DAO中进行大量的异常捕获,抛出和声明;当然也可以像传统的方式那样处理异常。
  • 通用的资源管理 - Spring应用程序上下文(application context)提供了对持久化资源(persistence resource)的配置管理,如Hibernate的SessionFactory实例,JPA的EntityManagerFactory实例,JDBC的DataSource实例等。Spring提供了简单,有效,安全的方式来处理这些持久化资源。
  • 整合了事务管理


资源及事务管理


异常转换(Exception Translation)

Spring通过注解 - @Repository 透明地引入了异常转换。

例如:

@Repository
public class ProductDaoImpl implements ProductDao {

    // class body here...

}

<beans>

    <!-- Exception translation bean post processor -->
    <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>

</beans>

Postprocessor会自动查找所有的异常转换器 - exception translators(实现了接口PersistenceExceptionTranslator的类),并通知所有使用@Repository注解的beans,从而使这些异常转换器可以对抛出的异常进行中断并应用适当的转换。


当然,我们同样可以使用原生的持久化技术来实现DAO,并利用注解来获得事务管理,依赖注入,异常转换等Spring提供的功能。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值