hibernate事务和jdbc事务冲突问题

本文讨论了在Spring项目中,同时使用Hibernate和JDBC时遇到的事务管理问题。当配置了不同的tx:annotation-driven时,可能出现只有一个事务生效的情况。通过使用TransactionAwareDataSourceProxy和设置SessionFactory的useTransactionAwareDataSource为true,可以实现HibernateTransactionManager管理两者事务,确保事务的正确性。关键在于保持数据源的一致性和利用TransactionSynchronizationManager来协调连接和session。
摘要由CSDN通过智能技术生成
Pre-bound JDBC Connection found! HibernateTransactionManager does not support running within DataSourceTransactionManager if told to manage the DataSource itself. It is recommended to use a single HibernateTransactionManager for all transactions on a single DataSource, no matter whether Hibernate or JDBC access.


原帖:http://blog.csdn.net/zhangliao613/article/details/8277343

在项目中同时用到了JDBC和Hibernate,分别配置了各自的事务,同时配置了不同的tx:annotation-driven。

但是在实际使用中,只有配置在前的tx:annotation-driven起了作用,另外一个tx:annotation-driven不起作用。

===============

http://zhangxiaoming.iteye.com/blog/307670

spring 中 Hibernate 事务和JDBC事务嵌套问题
JDBCHibernateSpring配置管理ORM

最近开发中,遇到了这样一个问题。

1.系统中,事务是有spring管理的。

2.系统中,即用到了JDBC,又用到了Hibernate。

3.spring管理了jdbc事务,也管理了Hibernate事务。


如上3点所述,存在这样的情况:

配置了jdbc事务的service,注入了配置了hibernate事务的service。这时,执行的时候,系统就会抛出异常:
org.springframework.transaction.IllegalTransactionStateException: Pre-bound JDBC connection found - HibernateTransactionManager does not support running within DataSourceTransactionManager if told to manage the DataSource itself. It is recommended to use a single HibernateTransactionManager for all transactions on a single DataSource, no matter whether Hibernate or JDBC access.

但是,由配置了hibernate事务的service,注入了配置了jdbc事务的service。就能正常运行。

不知道大家有没有遇到过类似的问题。一起讨论一下。
================

http://www.iteye.com/topic/37707

最近摸索了一下Hibernate与JDBC(iBATIS)事务整合问题,算是有点收获,写出来和大家讨论一下吧。。。

一般大家都会使用Spring声明型事务 transactionAttributes 为 PROPAGATION_REQUIRED

Hibernate 使用 HibernateTransactionManager 、JDBC(iBATIS) 使用 DataSourceTransactionManager

当需要将它们整合到一个事务中的时候

普通的做法是配置统一的DataSource, Hibernate与JDBC(iBATIS) 都使用HibernateTransactionManager

坛子里有篇帖子已经详细论述了这种整合方案 http://www.iteye.com/topic/11063?page=2

------------ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值