您的位置:首页 > 编程语言 > Java开发

【Java.Spring.DataAccess】ORM Data Access

2015-01-06 14:28 183 查看

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提供的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐