一尘不染

Spring + Hibernate + JTA-HibernateTransactionManager或JTATransactionManager

hibernate

我想集成 SpringHibernate, 并使用 JTA
来管理事务。我还想将事务处理委托给App服务器,在我的例子中是JBoss。我有一个关于Spring中“ transactionManager
bean 的配置的查询:

1)我们可以使用 HibernateTransactionManager 并在hibernate.properties文件中设置属性
hibernate.transaction.factory_class
hibernate.transaction.manager_lookup_class 吗?如果没有,为什么?

2)或者,我们应该使用 JTATransactionManager 吗?

在选项(2),我们还需要在设置属性(“hibernate.transaction.factory_class”,“hibernate.transaction.manager_lookup_class属性”)
hibernate.properties

谢谢。


阅读 308

收藏
2020-06-20

共1个答案

一尘不染

如果要委派给应用服务器,就我所知,必须使用JTATransactionManager,HibernateTransactionManager不是JTA事务管理器。

单个Hibernate SessionFactory的PlatformTransactionManager实现。将一个Hibernate
Session从指定的工厂绑定到线程,可能允许每个工厂一个线程绑定的Session。SessionFactoryUtils和HibernateTemplate知道线程绑定的Session,并自动参与此类事务。对于需要支持此事务处理机制的Hibernate访问代码,必须使用其中之一或通过SessionFactory.getCurrentSession()进行操作。

2020-06-20