JPA エンティティーの機能拡張
Liberty プロファイルに含まれる JPA 2.0 仕様のプロバイダーは、Apache OpenJPA に基づいています。 OpenJPA では、 JPA パーシスタント・タイプ (Entity、Embeddable、MappedSuperclass) の Java™ バイトコード機能拡張を使用して、 状態の追跡や、パーシスタンスおよび JPA クラス内の他の最適化フィーチャーを使用可能にするために必要な他の情報を追加します。 アプリケーション・サーバー環境で、JPA エンティティーの機能拡張は、アプリケーションが Liberty プロファイル・サーバーによってロードされるときに自動的に行われます。
パーシスタンス JAR がアプリケーション・サーバー環境と非アプリケーション・サーバー環境の両方で使用される場合、
JPA クラスの事前機能拡張 (つまり、ビルド時機能拡張) が必要です。
ビルド時機能拡張を行う最も一般的な方法は、OpenJPA エンハンサー Ant タスクと、PCEnhancer です。
これらのビルド時機能拡張オプションでは、OpenJPA ライブラリーと依存ライブラリーが classpath 上にあることが必要です。
JPA シン・クライアントの JAR com.ibm.ws.jpa.thinclient_8.5.0.jar (Liberty プロファイルのインストール可能なオプション)
に、OpenJPA ライブラリーと依存ライブラリーが含まれています。
Installation Manager を使用して製品をインストールした場合、.jar ファイルは、runtimes ディレクトリーにあります。
アーカイブ・インストールを実行した場合、.jar ファイルはユーザーが選択したディレクトリーにあります。
ビルド時機能拡張を行うには、
JPA シン・クライアントの .jar ファイルをご使用の classpath に入れてください。
JPA シン・クライアントの .jar ファイルを使用すると、アプリケーション・サーバーとの完全な互換性が確保されます。
注: Liberty プロファイルの JPA 2.1 仕様のプロバイダーは EclipseLink です。EclipseLink では、エンティティーの機能拡張は不要です。