繁体   English   中英

JTA事务中的Hibernate Session作用域与View-Open-Session

[英]Hibernate Session scope in JTA transactions vs Open-Session-In-View

正确地说,将JTA Transactions与ibernate使用ibernate与使用Open-Session-In-View在会话范围方面形成对比吗?
根据我的能力,在JTA Transactions中收集Session范围是一个事务(主要基于此link ),而在Open-Session-In-View模式中,session的范围就是必需的,您可以在其中进行多个事务。它。

我要问的是,首先要理解,其次要验证使用JTA时“谁”负责会话处理。
当前,当使用Open-Session-In-View ,我有一个HibernateUtil类,用于处理会话的打开,检索和关闭(通过ThreadLocal<Session> )。
当我切换到使用JTA时, Hibernate将处理上述会话操作吗? (作为我调用的userTransaction.begin,userTransaction.rollback的派生类)

顺便说一句,我问的是JTA因为我需要在Hibernate JMSEHCache之间协调事务,因此这不是一般的最佳实践“让JTA使用”问题。

伊泰

好吧,如果您使用的是JTA,则JTA管理器(通常是EJB3容器)负责事务。

通常,使用的是相同的,良好的旧的“打开视图中的事务处理”模型,但是对于UserTransaction和SWING客户端,可能有跨多个请求的持久事务(尽管通常这是一种不好的做法)。

顺便说一句,我问的是JTA,因为我需要在Hibernate JMS和EHCache之间协调事务,因此这不是一般的最佳实践“让JTA使用”问题。

祝好运。 我发现外部事务管理器(我使用过Atomikos)+ Spring可以比JBoss更好地满足我的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM