第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

持久單元是RESOURCE_LOCAL還是JTA?

持久單元是RESOURCE_LOCAL還是JTA?

繁華開滿天機 2019-11-23 13:23:00
我有以下查詢:這兩者有什么區(qū)別?所有數(shù)據(jù)庫都支持這兩種方法嗎?JPA TransactionManager和JTA TransactionManager是否不同?
查看完整描述

3 回答

?
收到一只叮咚

TA貢獻1821條經(jīng)驗 獲得超5個贊

JPA實現(xiàn)可以選擇自己管理事務(RESOURCE_LOCAL),還是由應用程序服務器的JTA實現(xiàn)對其進行管理。

在大多數(shù)情況下,RESOURCE_LOCAL是可以的。這將使用基本的JDBC級事務。缺點是該事務對于JPA持久性單元而言是本地的,因此,如果您想要一個跨越多個持久性單元(或其他數(shù)據(jù)庫)的事務,那么RESOURCE_LOCAL可能不夠好。

JTA還用于跨JMS和JCA之類的系統(tǒng)管理事務,但這對我們大多數(shù)人來說是相當奇怪的用法。

要使用JTA,您需要在應用程序服務器中對其進行支持,并且還需要JDBC驅(qū)動程序的支持。


查看完整回答
反對 回復 2019-11-23
?
肥皂起泡泡

TA貢獻1829條經(jīng)驗 獲得超6個贊

作為其他答案的補充


這是一篇非常有用的文章(在Apache TomEE網(wǎng)站上發(fā)布)的摘錄,該文章也可以幫助回答OP的第一個問題(下面是文章的鏈接)。


比較RESOURCE_LOCAL和JTA持久性上下文

使用<persistence-unit transaction-type =“ RESOURCE_LOCAL”>, 您可以負責EntityManager(PersistenceContext / Cache)的創(chuàng)建和跟蹤...


您必須使用 EntityManagerFactory來獲取EntityManager

產(chǎn)生的EntityManager實例 是 PersistenceContext / Cache

一個 的EntityManagerFactory可以通過被注入 @PersistenceUnit注解只有(未@PersistenceContext)

你是不是允許使用@PersistenceContext引用類型的單位RESOURCE_LOCAL

您必須使用 EntityTransaction API來開始/提交 對EntityManger的每次調(diào)用

兩次調(diào)用entityManagerFactory.createEntityManager()會導致兩個單獨的EntityManager實例,并因此 導致 兩個單獨的PersistenceContexts / Caches。

這是幾乎從未有多于一個好主意, 比如在使用一個EntityManager的(不創(chuàng)建除非你破壞了第一第二個)



使用<persistence-unit transaction-type =“ JTA”>, 容器將執(zhí)行EntityManager(PersistenceContext / Cache)創(chuàng)建和跟蹤...


您不能使用 EntityManagerFactory獲取EntityManager

您只能獲得容器提供 的EntityManager

一個的EntityManager 可以通過注入@PersistenceContext 注解只有(未@PersistenceUnit)

你是 不是允許使用@PersistenceUnit引用類型JTA單位

容器給定的EntityManager是對與JTA事務關聯(lián)的PersistenceContext / Cache 的引用。

如果沒有正在進行的JTA事務,則由于沒有PersistenceContext / Cache ,因此無法使用 EntityManager 。

大家都用一個EntityManager參照同一單元在同一事務將自動具有到一個參考 相同PersistenceContext /高速緩存

在JTA 提交時刷新并清除PersistenceContext / Cache

有興趣學習Java Persistence API的任何人-請幫個忙,并在此處閱讀完整的文章:JPA概念:JPA 101。


查看完整回答
反對 回復 2019-11-23
?
手掌心

TA貢獻1942條經(jīng)驗 獲得超3個贊

Resource_Local和JTA是事務管理器(執(zhí)行事務的方法)。這不是數(shù)據(jù)庫的屬性,而是負責協(xié)調(diào)事務的組件。JPA和JTA事務管理器是不同的。JPA事務管理器負責JPA事務,如果僅執(zhí)行JPA事務,則要使用一個。JTA事務管理器是通用事務管理器,可以在事務中注冊其他資源,例如JMS隊列。通常,Java EE容器為EJB,JPA實體等使用JTA事務管理器。


查看完整回答
反對 回復 2019-11-23
  • 3 回答
  • 0 關注
  • 681 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號