浏览 7457 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-11
我采用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 这两种方式共存于一个应用系统中,请问该如何配置呢? 不知哪位朋友有遇到过和我相似的问题,请伸出您的热忱双手吧,帮我分析一下,我快疯了:( 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-11
我补充一下,同一个表,同一个DAO我不会同时使用JDBC和Hibernate,是一个模块完全使用JDBC,而另外一个模块完成使用Hibernate,所以不会有缓存更新两两不相知的问题。我的问题是一个采用Spring JDBC的模块和一个采用Hibernate的模块共存于一个系统中,我要如何在Spring中进行事务管理配置。谢谢!
|
|
返回顶楼 | |
发表时间:2007-10-12
关注ing...
|
|
返回顶楼 | |
发表时间:2007-12-12
只要使用org.springframework.orm.hibernate3.HibernateTransactionManager就可以了,不必单独为jdbc配事务
|
|
返回顶楼 | |
发表时间: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即可呢?? 谁能详细说明一下,谢谢! |
|
返回顶楼 | |
发表时间:2007-12-25
http://www.iteye.com/topic/37707
|
|
返回顶楼 | |
发表时间: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).
|
|
返回顶楼 | |