![](/img/trans.png)
[英]Implementation of Annotation Driven Transaction in Open-Session-In-View with Spring 3 and Hibernate 4
[英]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
JMS
和EHCache
之间协调事务,因此这不是一般的最佳实践“让JTA使用”问题。
伊泰
好吧,如果您使用的是JTA,则JTA管理器(通常是EJB3容器)负责事务。
通常,使用的是相同的,良好的旧的“打开视图中的事务处理”模型,但是对于UserTransaction
和SWING客户端,可能有跨多个请求的持久事务(尽管通常这是一种不好的做法)。
顺便说一句,我问的是JTA,因为我需要在Hibernate JMS和EHCache之间协调事务,因此这不是一般的最佳实践“让JTA使用”问题。
祝好运。 我发现外部事务管理器(我使用过Atomikos)+ Spring可以比JBoss更好地满足我的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.