弹簧&x2B;冬眠+;JTA-HibernateTransactionManager或JTATransactionManager

弹簧&x2B;冬眠+;JTA-HibernateTransactionManager或JTATransactionManager,hibernate,spring,transactions,jta,Hibernate,Spring,Transactions,Jta,我想集成Spring和Hibernate并使用JTA来管理事务。我还想将事务处理委托给appserver,在我的例子中,它是JBoss。我有一个关于春季“transactionManager”bean配置的问题: 1) 我们是否可以使用HibernateTransactionManager并在hibernate.properties文件中设置属性hibernate.transaction.factory\u类和hibernate.transaction.manager\u lookup\u类?

我想集成SpringHibernate并使用JTA来管理事务。我还想将事务处理委托给appserver,在我的例子中,它是JBoss。我有一个关于春季“transactionManager”bean配置的问题:

1) 我们是否可以使用HibernateTransactionManager并在hibernate.properties文件中设置属性hibernate.transaction.factory\u类hibernate.transaction.manager\u lookup\u类? 若否,原因为何

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

在选项(2)中,我们是否仍然需要在hibernate.properties中设置属性(“hibernate.transaction.factory_类”、“hibernate.transaction.manager_lookup_类”)


谢谢

如果您想委托给appserver,就我所知,您必须使用JTA事务管理器,HibernateTransactionManager不是JTA事务管理器

针对单个Hibernate SessionFactory的PlatformTransactionManager实现。将指定工厂的Hibernate会话绑定到线程,可能允许每个工厂有一个线程绑定会话。SessionFactoryUtils和HibernateTemplate知道线程绑定的会话,并自动参与此类事务。对于需要支持此事务处理机制的Hibernate访问代码,需要使用这两种方法之一或通过SessionFactory。getCurrentSession()进行访问


您正在哪个应用程序服务器上运行?关于JTA,是否要将事务处理委托给appserver?在1)中,您希望指定哪个工厂和查找类?JBoss。是的,我想将事务处理委托给应用服务器。我的问题是-我们可以通过使用HibernateTransactionManager并在hibernate.properties中设置适当的工厂和查找类来实现JTATransaction管理吗?