读书人

Spring JDBC和Hibernate混用时怎么配

发布时间: 2012-10-28 09:54:44 作者: rapoo

Spring JDBC和Hibernate混用时,如何配置事务管理
由于我们项目的需求比较变态,一部分功能由于需要通过数据库配置表动态生成持久化逻辑,所以只得采用Spring JDBC,而另一部分的业务数据模型比较固定,所以我打算对这部分使用Hibernate。这样,一个应用系统同时存在Spring JDBC和Hibernate两种持久化技术。
我采用Spring 2.0,通过给注解驱动的方式进行事务管理,也就是说在Service接口中打@Transaction注解,并在配置文件中配置:


但是一个Spring容器只能配置一个配置一种类型的事务管理器,要么使用基于JDBC的
DataSourceTransactionManager,要么使用Hibernate的HibernateTransactionManager。
现在我是同时需要DataSourceTransactionManager和HibernateTransactionManager,而
<tx:annotation-driven >只允许设置一个事务管理器。如果我要让Spring JDBC和Hibernate
这两种方式共存于一个应用系统中,请问该如何配置呢?
不知哪位朋友有遇到过和我相似的问题,请伸出您的热忱双手吧,帮我分析一下,我快疯了:(




这两者就是完全等价的呢?在一个使用了jdbc和Hibernate的应用中,bean配置随意使用一个即可,或者全部使用HibernateTransactionManager的transactionManager即可呢??

谁能详细说明一下,谢谢! 6 楼 daquan198163 2007-12-25 http://www.iteye.com/topic/37707 7 楼 freesoul 2007-12-25 我也找到了Spring API DOC的说明

引用This transaction manager is appropriate for applications that use a single Hibernate SessionFactory for transactional data access, but it also supports direct DataSource access within a transaction (i.e. plain JDBC code working with the same DataSource). This allows for mixing services which access Hibernate and services which use plain JDBC (without being aware of Hibernate)! Application code needs to stick to the same simple Connection lookup pattern as with DataSourceTransactionManager (i.e. DataSourceUtils.getConnection(javax.sql.DataSource) or going through a TransactionAwareDataSourceProxy).

读书人网 >其他数据库

热点推荐