2007-10-11
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
这两种方式共存于一个应用系统中,请问该如何配置呢?
不知哪位朋友有遇到过和我相似的问题,请伸出您的热忱双手吧,帮我分析一下,我快疯了:(
我采用Spring 2.0,通过给注解驱动的方式进行事务管理,也就是说在Service接口中打@Transaction注解,并在配置文件中配置:
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
但是一个Spring容器只能配置一个配置一种类型的事务管理器,要么使用基于JDBC的
DataSourceTransactionManager,要么使用Hibernate的HibernateTransactionManager。
现在我是同时需要DataSourceTransactionManager和HibernateTransactionManager,而
<tx:annotation-driven >只允许设置一个事务管理器。如果我要让Spring JDBC和Hibernate
这两种方式共存于一个应用系统中,请问该如何配置呢?
不知哪位朋友有遇到过和我相似的问题,请伸出您的热忱双手吧,帮我分析一下,我快疯了:(
- 20:28
- 浏览 (947)
- 论坛浏览 (1291)
- 评论 (6)
- 分类: Spring
- 相关推荐
评论
我也找到了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).
daquan198163
2007-12-25
回复
cammette 写道
只要使用org.springframework.orm.hibernate3.HibernateTransactionManager就可以了,不必单独为jdbc配事务
我也有这方面的疑问,那是不是说
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean>
这两者就是完全等价的呢?在一个使用了jdbc和Hibernate的应用中,bean配置随意使用一个即可,或者全部使用HibernateTransactionManager的transactionManager即可呢??
谁能详细说明一下,谢谢!
只要使用org.springframework.orm.hibernate3.HibernateTransactionManager就可以了,不必单独为jdbc配事务
发表评论
该博客是同时发布到论坛的,无法评论在论坛已被锁定的帖子
最近加入圈子
最新评论
-
5种DAO查询方法的签名方 ...
记得以前进行java培训时候,学的就是dao,可惜工作了也就不用这个了,现在用s ...
-- by 01071405 -
5种DAO查询方法的签名方 ...
tianhen 写道我们一般是写了一个分页查询的方法: List ...
-- by MrLee23 -
5种DAO查询方法的签名方 ...
tianhen 写道 Where where = Where.rootWhere ...
-- by realorg -
直接使用Junit测试Spring ...
引用3)数据库现场容易遭受破坏 测试方法对数据库的更改操作会持久化到数据库中。 ...
-- by lsk -
直接使用Junit测试Spring ...
hrtc 写道有没有具体实例代码,支不支持增量测试,下面是我用junit的测试, ...
-- by xmx0632







评论排行榜