5.3. EXTENDED 永続コンテキスト


アプリケーションにより管理されたすべてのエンティティマネージャとそのように定義された、コンテナにより管理された永続コンテキストは EXTENDED です。つまり、永続コンテキストタイプはトランザクションライフサイクルの範囲を超えます。トランザクションの範囲外で実行された操作に何が起こったのかを理解する必要があります。
EXTENDED 永続コンテキストにおいて、トランザクション外でエンティティマネージャのすべての読み取り専用操作を実行できます (find()getReference()refresh()、および読み取りクエリ)。一部の変更操作はトランザクション外で実行できますが、これらの操作は永続コンテキストがトランザクションに参加するまでキューに格納されます。これは、persist()merge()remove() の場合に該当します。一部の操作 (flush()lock()、および更新/削除クエリ) はトランザクション外で呼び出すことができません。

5.3.1. コンテナにより管理されたエンティティマネージャ

コンテナにより管理されたエンティティマネージャで EXTENDED 永続コンテキストを使用する場合は、永続コンテキストのライフサイクルがステートフルセッション Bean のライフサイクルにバインドされます。また、エンティティマネージャがトランザクション外で作成された場合は、変更操作 (persist、merge、remove) が永続コンテキストでキューに格納され、データベースに対して実行されません。
トランザクションに関連する、またはトランザクションを開始するステートフルセッション Bean のメソッドが後で呼び出されたとき、エンティティマネージャはトランザクションに参加します。永続コンテキストを同期するために、キューに格納されたすべての操作が実行されます。
これは、entitymanager-per-conversation パターンを実装する場合に最適です。ステートフルセッション Bean は対話実装を表します。すべての中間対話はトランザクションに関係しないメソッドで処理されます。対話の終了は JTA トランザクション内部で処理されます。したがって、キューに格納されたすべての操作はデータベースに対して実行され、コミットされます。アプリケーション内部の対話の表記法に興味がある場合は、JBoss Seam を調べてください。Jboss Seam は対話とエンティティマネージャのコンセプトを強調し、JPA と JSF をともにバインドします。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat