由于项目中既用到了Hibernate,又用到了Mybatis,还用到了JdbcTemplate,比较纠结于他们的事务,抽了个时间好好研究了下,有理解不正确的地方,欢迎批评指正
大致的来说,事务可以分为以下2中:
1.JDBC的事务
2.JTA,容器的事务
由于不涉及到JTA,就不谈JTA的事务了
TransactionManager用的是HibernateTransactionManager,大概配置如下:
|
1
2
3
4
5
6
|
<
bean
id
=
"transactionManager"
class
=
"org.springframework.orm.hibernate4.HibernateTransactionManager"
|

本文探讨了Spring项目中同时使用Hibernate、Mybatis和JdbcTemplate时的事务管理问题。主要关注JDBC事务和Spring容器管理的事务。通过配置HibernateTransactionManager,发现Mybatis和JdbcTemplate的事务同样受Spring管控,只要数据源一致,就能实现事务回滚。然而,若不在同一事务范围内调用这些框架的方法,则无法进行事务回滚。
最低0.47元/天 解锁文章
1113





