2.7.39 @PersistenceContext

<この項の構成>
(1) 説明
(2) 属性

(1) 説明

コンテナ管理のEntityManagerのリファレンスを定義するアノテーションです。ルックアップをするクラスに付加します。

適用可能要素は,クラス,メソッド,およびフィールドです。

(2) 属性

@PersistenceContextの属性の一覧を次の表に示します。

属性名任意/必須属性の説明
name任意EntityManagerのルックアップ名を指定する属性です。
unitName任意persistence.xmlファイルで定義されている永続化ユニットの名前を指定する属性です。
type任意永続化コンテキストのライフサイクルの種類を指定する属性です。
properties任意@PersistencePropertyで指定するベンダ依存のプロパティを指定する属性です。

CJPAプロバイダで対応する属性の詳細を次に示します。

(a) name属性
String
説明
EntityManagerのルックアップ名を指定する属性です。
DIを使用する場合は指定不要です。
デフォルト値
空の文字列
(b) unitName属性
String
説明
persistence.xmlファイルで定義された永続化ユニットの名前を指定する属性です。
unitName属性を指定した場合,JNDI名前空間でアクセスできるEntityManagerFactoryが使用する永続化ユニットを同じ名前にしてください。
デフォルト値
空の文字列
(c) type属性
PersistenceContextType
説明
永続化コンテキストのライフサイクルの種類を指定する属性です。
指定できる値は,次の2種類です。
  • TRANSACTION:トランザクションスコープの永続化コンテキスト
  • EXTENDED:拡張永続化コンテキスト
デフォルト値
TRANSACTION
(d) properties属性
PersistenceProperty[]
説明
@PersistencePropertyで指定するJPAプロバイダのベンダに依存するプロパティを指定する属性です。
指定できる値は,@PersistencePropertyの配列で指定できる範囲です。詳細は,「2.7.41 @PersistenceProperty」を参照してください。
properties属性を指定した場合,認識できないプロパティは無視します。
デフォルト値
空の配列