このタスクについて
別のバンドルの JPA パーシスタンス・ユニットにアクセスするには、事前に JPA バンドルを構成し、WebSphere® Application Server にデータ・ソースを追加しておく必要があります。
例えば、JPA エンティティーを取り込み、データを表示して操作する Web アプリケーション・バンドルです。
ヒント: JPA パーシスタンス・ファイル
に Java™ Transaction API (JTA) および非 JTA データ・ソースへの参照が必ず含まれるようにしてください。
JPA には、データ・ソースにアクセスするためのトランザクション・パターンが 2 つあります。
- jta-data-source
- Java Transaction API
(JTA) リソース・パターンは、グローバル・トランザクションに依存します。JTA リソース・パターン
は通常、Enterprise JavaBeans (EJB) セッション・ファサードの範囲内で使用されます。
この構成により、セッション Bean がトランザクションおよびセキュリティー・コンテキストを制御し、JPA がパーシスタンスのマッピングを扱うようにすることができます。
この場合、アプリケーションは EntityTransaction インターフェースを使用しませんが、アクセスされるときには、グローバル・トランザクションに参加する EntityManager に依存します。
- non-jta-data-source
- 非 JTA リソース・パターンは、グローバル・トランザクションがない場合に、単一のリソースを扱うために
使用されます。非 JTA リソース・パターンは通常、
Web アプリケーションまたはアプリケーション・クライアントの範囲内で使用されます。
アプリケーションは、EntityTransaction インターフェースによってデータ・ソースとのトランザクションを制御します。
OSGi アプリケーションの persistence.xml ファイル内の、jta-data-source エレメントと non-jta-data-source エレメントは、Java Naming and Directory Interface (JNDI) ルックアップ、サービス・レジストリーに対する JNDI ルックアップ、または Blueprint を使用してデータ・ソースにアクセスします。
JTA および 非 JTA データ・ソースが persistence.xml ファイル内で構成されていない場合、サーバー用に構成されたデフォルトの
JTA および非 JTA データ・ソースが使用されます。デフォルトでは、値は NULL です。一部の JPA エンティティーのフィーチャーには、非 JTA データ・ソースが指定されている必要があります。
例えば、エンティティー ID の自動生成です。