persistence.xml 異なるトランザクションタイプの属性
2023-09-02 22:36:50
質問
persistence.xml JPA設定ファイルの中に、以下のような行があります。
<persistence-unit name="com.nz_war_1.0-SNAPSHOTPU" transaction-type="JTA">
とか時々
<persistence-unit name="com.nz_war_1.0-SNAPSHOTPU" transaction-type=”RESOURCE_LOCAL”>
質問です。
の違いは何ですか?
transaction-type="JTA"
と
transaction-type=”RESOURCE_LOCAL”
?
また、いくつかのpersistence.xmlファイルでは、transaction-typeが欠落していることに気づきました。これは正しいのでしょうか?
どのように解決するのですか?
既定値
デフォルトは JTA に、JavaEE 環境では RESOURCE_LOCAL に変更します。
リソース_ローカル
と
<persistence-unit transaction-type="RESOURCE_LOCAL">
を担当します。
EntityManager
(
PersistenceContext/Cache
) の作成と追跡
-
を使用する必要があります。
EntityManagerFactory
を取得するためにEntityManager
-
その結果
EntityManager
のインスタンスはPersistenceContext/Cache
AnEntityManagerFactory
を注入することができます。@PersistenceUnit
アノテーションのみを使用します (ただし@PersistenceContext
) -
を使用することはできません。
@PersistenceContext
型のユニットを参照するためにRESOURCE_LOCAL
-
を使用する必要があります。
EntityTransaction
を呼び出すたびに、開始/コミットするための API を使用しなければなりません。EntityManger
-
呼び出し
entityManagerFactory.createEntityManager()
を2回呼ぶと、2つの別々のEntityManager
インスタンスが生成され、その結果、2つの別々のPersistenceContexts/Caches
. -
のインスタンスが2つ以上あることは、ほとんど良いアイデアではありません。
EntityManager
のインスタンスを複数持つことは、良いことではありません(最初のインスタンスを破棄しない限り、2つ目のインスタンスは作成しないでください)。
JTA
と
<persistence-unit transaction-type="JTA">
とすると、コンテナは
EntityManager
(
PersistenceContext/Cache
) を作成し、追跡します。
-
を使用することはできません。
EntityManagerFactory
を取得するためにEntityManager
-
を取得できるのは
EntityManager
がコンテナから供給される -
には
EntityManager
を介して注入することができます。@PersistenceContext
アノテーションのみを使用します (ただし@PersistenceUnit
) -
を使用することはできません。
@PersistenceUnit
を使用して、JTA タイプのユニットを参照することはできません。 -
は
EntityManager
コンテナによって与えられた参照はPersistenceContext/Cache
JTA Transaction に関連付けられたものです。 -
JTA トランザクションが進行中でない場合は
EntityManager
が存在しないため、使用することはできません。PersistenceContext/Cache
. -
を持つ誰もが
EntityManager
への参照を持つ誰もが、自動的に同じトランザクションの同じユニットへのPersistenceContext/Cache
-
は
PersistenceContext/Cache
はJTAのコミット時にフラッシュされクリアされます。
関連
-
Eclipse問題 アクセス制限。タイプ 'SunJCE' が API でないことを解決し、/jdk ディレクトリにある /jre と jre の違いについて理解を深める。
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
Jsoup-Crawlingの動作
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
アノテーション「@Retention」の役割
-
CertificateException: XXXに一致するサブジェクトの代替DNS名が見つかりません 解決策
-
java send https request prompt java.security.cert.について。
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
実行中にEclipseがポップアップする A Java Exception has occurred
-
型に解決できない エラー解決
-
javaの非静的メソッドを静的に参照することができない
-
Uncaught ReferenceError: は定義されていません。
-
無効なメソッド宣言
-
Javaジェネリックを1つの記事で
-
SocketException java.netの4つの例外解決策。
-
API の戻り値を処理するために ResponseEntity を使用する
-
Zipファイルの圧縮・解凍にantを使用する