Java Persistence API (JPA) は、パーシスタンス・プログラミング・モデルを簡素化したものです。 JPA は、Java EE specification for Enterprise Java Beans 3.0 でのパーシスタンスとオブジェクト・リレーショナル・マッピングを管理します。JPA 仕様では、 ベンダー固有のマッピング実装に依存するのではなく、独自のガイドラインにおけるオブジェクト・リレーショナル・マッピングが定義されています。 これらのフィーチャーにより、JPA を使用するアプリケーションの実装と管理が容易になります。
JPA は、Java Database Connectivity (JDBC) API、Object Relational Mapping (ORM) フレームワーク、および Java Data Objects (JDO) などの、従来のパーシスタンス・メカニズムの最高のフィーチャーを結合したものです。JPA の下でエンティティーを作成する作業は、シリアライズ可能なクラスの作成と同じように簡単です。 JPA は大規模なデータ・セット、データの整合性、コンカレントの使用、および JDBC の照会機能をサポートしています。 オブジェクト・リレーショナル・ソフトウェアやオブジェクト・データベースと同様に、 JPA を使用すると、継承などの高度なオブジェクト指向の概念を使用できます。 JPA は、JDO や EJB 2.x のエンティティーのような厳密な仕様に依存していないため、ベンダー・ロックインを回避します。
JPA の実装は、既存のアプリケーションのマイグレーションを必要としません。 既存の EJB 2.x Container Manager Persistence アプリケーションは、引き続き変更なしで実行します。 JPA がすべてのアプリケーションにとって理想的であるというわけではありませんが、多くのアプリケーションでは、他のパーシスタンス実装に対するより良い代替品となります。
製品に JPA ツールを入れることにより、ウィザードを使用してマッピングを作成し、自動的に初期化することができます。 既存のエンティティー・クラスから新しいデータベース表を作成することも (トップダウン・マッピング)、既存のデータベース表から新しいエンティティー Bean を作成することも (ボトムアップ・マッピング) できます。このツールを使用して、名前やその他の属性が異なる既存のデータベース表とエンティティー Bean との間にマッピング (meet-in-the-middle マッピング) を作成することができます。 データ・アクセス・アプリケーションを設計するときの柔軟性を得るために、一定範囲のマッピング・タイプから選択することができます。 マッピングは複数のタイプの Java クラスから作成でき、データベース設計のための複数のオプションを使用して、エンティティーの継承を指定できます。
JPA は、次のとおり、JSR 220 EJB 3.0 仕様でカバーされています。JSR 220: Enterprise JavaBeans 3.0
JPA アプリケーションを作成する前に、以下のトピックをお読みください。これらのトピックでは、この開発環境における JPA アプリケーションまたは JPA アプリケーション開発に慣れていない場合に役立つ計画と技術の概要情報が提供されています。
既に JPA アプリケーション技術についてよくご存じの場合、以下のトピックは、JPA アプリケーション開発のためのワークスペースをセットアップしたり、開発過程を学習したりする際に役立ちます。
このインフォメーション・センターだけでなく、以下のリンクによりその他の学習教材にアクセスできます。
IBM® Redbooks®: WebSphere® Application Server バージョン 6.1 Feature Pack for EJB 3.0