2011-11-27 22 views
1

在NetBeans在persistence.xml有一個名爲「使用Java事務API」複選框,這樣從改變XML:什麼「使用Java事務API的」複選框中的Netbeans做的persistence.xml

<persistence-unit name="PUNAME-PU" transaction-type="RESOURCE_LOCAL"> 

收件人:

<persistence-unit name="PUNAME-PU" transaction-type="JTA"> 

這是用於CMT還是BMT?

+0

您可能會發現這個[SO線程(http://stackoverflow.com/questions/3217586/difference-between-a-jta-datasource-and-a-resource-local-datasource)有用 – stratwine

回答

2

下面介紹一下JPA2規範說這個屬性:

交易-type屬性用於指定由實體管理器工廠的持久性 單位提供的實體 經理是否必須是JTA實體管理器或資源本地實體經理。 此元素的值是JTA或RESOURCE_LOCAL。 JTA的交易類型 假定將提供JTA數據源 - 或者由jta-data-source元素指定的或由容器提供的 。 通常,在Java EE環境中,事務類型 RESOURCE_LOCAL假定將提供非JTA數據源。在一個Java EE環境的 中,如果未指定此元素,則默認 是JTA。在Java SE環境中,如果未指定此元素,則 的缺省值爲RESOURCE_LOCAL。

這裏是它說什麼關於JTA和本地資源實體管理器:

JTA EntityManagers

實體管理其交易通過JTA控制 是JTA實體管理器。 JTA實體管理者參與當前JTA事務中的 ,該事務開始並向外部 提交給實體管理器並傳播到基礎資源 管理器。

本地資源EntityManagers

實體管理其交易 通過了EntityTransaction API應用程序控制是 本地資源實體管理器。資源本地實體管理器 事務通過持久性提供者映射到資源事務上的資源事務 。資源本地實體管理器可以使用服務器或本地資源連接到數據庫,並且不知道存在可能或不可以活動的JTA事務。

+0

感謝你的迴應。 – ScottM

相關問題