JPA アプリケーションの開発

Java™ Persistence API (JPA) は、Java Enterprise Edition (Java EE) 環境および Java Standard Edition (Java SE) 環境におけるパーシスタンスおよびオブジェクト/関係マッピングの管理を定義します。

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 アーキテクチャー
Java Persistence API は、パーシスタンス・プログラミング・モデルを簡素化したものです。

始めに

既に JPA アプリケーション・テクノロジーに精通している場合、 以下のトピックは、JPA アプリケーション開発用のワークスペースをセットアップするのに役立ちます。 また、開発プロセスについて説明しています。

Web で入手可能な学習用リソース

詳しくは、以下のリンクを参照してください。

IBM® Redbooks®: WebSphere® Application Server Version 6.1 Feature Pack for EJB 3.0

トピックのタイプを示すアイコン 概念のトピック
インフォメーション・センターのご利用条件 | フィードバック

タイム・スタンプ・アイコン 最終更新: May 29, 2014 10:20

ファイル名: c_jpa.html