簡體   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