Hatena Blog Tags

Java Persistence API

(コンピュータ)
じゃばぱーしすたんすえーぴーあい

永続化の管理と O/R マッピングのための Java EE および Java SE における標準 API である。 略称は 「JPA」。

JPA の構成要素

JPA 2.1 仕様に基づき説明する。

エンティティ (Entity)

エンティティ (entity) は、軽量で永続化可能なドメインオブジェクトのことである。 プログラミングの構成要素として主要なものはエンティティクラスである。 エンティティクラスは、ヘルパークラスや実体の状態を表わすための補助的なクラスを利用することもある。

エンティティクラス (Entity Class)

エンティティクラス (entity class) は、Entity アノテーションが付けられたクラスか、XML 記述子 (XML descriptor) においてエンティティとして記述されたクラスである。 エンティティクラスは、次の条件を満たす必要がある。

  • publicprotected で、引数をとらないコンストラクタを持っていなければならない。 他のコンストラクタは持っていても持っていなくても良い。
  • トップレベルのクラスでなければならない。 enum クラスやインターフェイスをエンティティとすることはできない。
  • クラス自体が final であってはならず、また、どのメソッドも、どの永続性インスタンス変数 (persistent instance variable) も final であってはならない。
  • Detached オブジェクトとして扱われることがあるエンティティオブジェクトのクラスは、Serializable インターフェイスを実装していなければならない。

永続コンテキスト (Persistence context)

永続コンテキスト (persistence context) は、エンティティオブジェクト (entity instance) の集合である。 永続コンテキストに含まれるエンティティオブジェクトは、それぞれ識別子によって一意に特定できるようになっている。

エンティティオブジェクトとそのライフサイクルは、永続コンテキストの中で管理される。

EntityManager

EntityManager オブジェクトは永続コンテキストと結び付いている。 永続コンテキストとやりとりするためのメソッドが EntityManager インターフェイスに定義されている。 EntityManager API は、永続性エンティティ (persistent entity instance) を作成したり削除したり、主キーによって永続性エンティティを見つけたり、永続性エンティティを探すための問い合わせを行ったりするのに使用される。

指定の EntityManager オブジェクトによって管理されうるエンティティの集合は、永続性ユニット (persistence unit; 持続性ユニットとも訳される) によって定義される。

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

ネットで話題

もっと見る

関連ブログ