Java EE 環境での JPA アプリケーションのアセンブル

Java™ Persistence API (JPA) を使用するアプリケーションの開発と構成は完了しました。 次に、環境に合わせて JPA アプリケーションをパッケージ化する必要があります。

このタスクについて

手順

アプリケーションをパッケージ化します。 Java EE 環境で JPA を使用するアプリケーションには、複数のパッケージ化のオプションがあります。 ご使用のアプリケーションの各モジュールでの JPA の使用法および構成に最適なパッケージ化のオプションを選択してください。 以下に一般的なパッケージ化のオプションの一部を示します。 パッケージ化オプションの完全なリストについては、Java Persistence API の仕様書を参照してください。
注: IBM® Optim™ PureQuery Runtime を使用している場合は、persistence_unit_name.pdqxml ファイルを JPA アプリケーション JAR ファイルに追加します。 このファイルは、persistence.xml ファイルのある META-INF ディレクトリーと同じディレクトリーにあります。 これらのパーシスタンス・ファイルは、開発タスクで作成されたものです。詳しくは、トピック『Java EE 環境用の JPA アプリケーションの開発』を参照してください。
  • スタンドアロン Enterprise JavaBeans (EJB) モジュールまたはスタンドアロン・アプリケーション・クライアント・モジュールの場合は、EJB モジュールおよびアプリケーション・クライアント・モジュールを標準 Java アーカイブ (JAR) ファイルにパッケージ化します。以下の条件でアプリケーションをパッケージ化する必要があります。
    • JAR ファイルには、アプリケーション・クライアントの EJB クラス・ファイル、または Java クラス・ファイルが格納されている必要があります。
    • アーカイブの META-INF ディレクトリーには、persistence.xml ファイルが含まれている必要があります。
    • アプリケーションで orm.xml マッピング・ファイルまたはカスタム・マッピング・ファイルを使用している場合は、JAR ファイルにもそのファイルが格納されている必要があります。orm.xml ファイルの場所がパーシスタンス・ユニットに指定されていない場合のデフォルトの場所は、JAR ファイルの META-INF ディレクトリーです。
    • アプリケーションの開発時にアノテーション・プロセッサーによって生成される Criteria Metamodel クラス・ファイルを、エンティティー・クラス・ファイルと同じロケーションにある JAR ファイルに組み込む必要があります。
  • スタンドアロンの Web モジュールの場合は、スタンドアロンの Web アプリケーション・アーカイブ (WAR) ファイルにアプリケーションをパッケージ化します。以下の条件でアプリケーションをパッケージ化する必要があります。
    • アプリケーションの開発時にアノテーション・プロセッサーによって生成される Criteria Metamodel クラス・ファイルを、エンティティー・クラス・ファイルと同じロケーションにある WAR ファイルに組み込む必要があります。
    • WAR ファイルには、Web アプリケーション・クラス・ファイルが格納されている必要があります。 Web アプリケーション・クラス・ファイルは、WEB-INF/classes ディレクトリーに含まれているか、または WAR ファイルの WEB-INF/lib ディレクトリーにある JAR ファイルに含まれている必要があります。
    • persistence.xml ファイルの含まれる場所は、WEB-INF/classes/META-INF ディレクトリーか、または WAR ファイルの WEB-INF/lib ディレクトリーにある JAR ファイルの META-INF ディレクトリーである必要があります。
    • アプリケーションで orm.xml マッピング・ファイルまたはカスタム・マッピング・ファイルを使用している場合は、WAR ファイルにもそのファイルが格納されている必要があります。マッピング・ファイルは、WEB-INF/classes ディレクトリーに配置するか、または WAR ファイルの WEB-INF/lib ディレクトリーに格納されている JAR ファイルに配置できます。 マッピング・ファイルの場所を指定するには、persistence.xml ファイルの <mapping-file> エレメントを使用します。 以下に例を示します。
      <mapping-file>META-INF/JPAorm.xml</mapping-file>
  • 1 つ以上のモジュールが含まれるエンタープライズ・アプリケーションの場合は、標準のエンタープライズ・アプリケーション・アーカイブ (EAR) ファイルにアプリケーションをパッケージ化します。エンタープライズ・アプリケーションには、1 つ以上の EJB モジュール、Web モジュール、またはアプリケーション・クライアント・モジュールを含めることができます。 以下の条件でアプリケーションをパッケージ化する必要があります。
    • 複数のモジュールで同一のパーシスタンス・ユニットを使用する場合は、パーシスタンス・アーカイブを作成し、そのパーシスタンス・アーカイブを EAR ファイルにパッケージできます。
    • パーシスタンス・アーカイブ・ファイルには、エンティティー・クラス、関連する Criteria Metamodel クラス、必要なサポート用クラス、persistence.xml ファイル、および追加のマッピング・ファイルを格納します。 persistence.xml ファイルおよびマッピング・ファイルの場所については、EJB モジュールおよびアプリケーション・クライアント・モジュールのパッケージ化ルールに従ってください。
    • パーシスタンス・アーカイブを使用する各モジュールには、その META-INF/MANIFEST.MF ファイルにクラスパス・エントリーが必要です。 マニフェスト・ファイルの例を以下に示します。
      Manifest-Version: 1.0
      Class-Path: MyJPAEntities.jar
    • 各モジュールで個別のパーシスタンス・ユニットを使用し、エンティティー・クラスを共有する場合は、 パーシスタンス・アーカイブにそのエンティティー・クラスをパッケージ化し、 各モジュールごとに別々の persistence.xml ファイルおよびマッピング・ファイルを指定できます。 各モジュールでエンティティー・クラスまたはパーシスタンス構成を共有しない場合は、スタンドアロンの EJB モジュール、スタンドアロンのアプリケーション・クライアント・モジュール、またはスタンドアロンの Web アプリケーション・アーカイブとして各モジュールをパッケージ化し、それを EAR ファイルにパッケージ化します。

次のタスク

コマンド、クラス、またはその他の OpenJPA 情報について詳しくは、 「Apache OpenJPA User Guide」を参照してください。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_assemblejpaee
ファイル名:tejb_assemblejpaee.html