![](/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.