春天 + Hibernate +JTA - HibernateTransactionManager 或 JTATransactionManager

发布于 2024-11-05 22:29:35 字数 655 浏览 4 评论 0原文

我想集成SpringHibernate并使用JTA来管理事务。我还想将事务处理委托给应用程序服务器,在我的例子中是 JBoss。我对 Spring 中“transactionManager”bean 的配置有疑问:

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

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

在选项(2)中,我们还需要在hibernate.properties中设置properties("hibernate.transaction.factory_class", "hibernate.transaction.manager_lookup_class")吗?

谢谢。

I want to Integrate Spring and Hibernate and use JTA for managing the transactions. I would also like to delegate transaction handling to the App server, which in my case is JBoss. I have a query regarding the configuration of the "transactionManager" bean in Spring:

1) Can we use HibernateTransactionManager and set the the properties hibernate.transaction.factory_class and hibernate.transaction.manager_lookup_class in hibernate.properties file?
If not, why?

2) Or, should we use JTATransactionManager?

In option (2), do we still need to set the properties("hibernate.transaction.factory_class", "hibernate.transaction.manager_lookup_class") in hibernate.properties?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦亿 2024-11-12 22:29:35

如果你想委托给应用程序服务器,据我所知,你必须使用 JTATransactionManager,HibernateTransactionManager 不是 JTA 事务管理器。

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

If you want to delegate to the appserver, you have to use JTATransactionManager to my knowledge, HibernateTransactionManager is not a JTA transaction manager.

PlatformTransactionManager implementation for a single Hibernate SessionFactory. Binds a Hibernate Session from the specified factory to the thread, potentially allowing for one thread-bound Session per factory. SessionFactoryUtils and HibernateTemplate are aware of thread-bound Sessions and participate in such transactions automatically. Using either of those or going through SessionFactory.getCurrentSession() is required for Hibernate access code that needs to support this transaction handling mechanism.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文