2.7.1 @PersistenceContext
(1) 説明
コンテナ管理のEntityManagerのリファレンスを定義するアノテーションです。ルックアップをするクラスに付加します。
適用可能要素は,クラス,メソッド,およびフィールドです。
(2) 属性
@PersistenceContextの属性の一覧を次の表に示します。
属性名 |
任意/必須 |
属性の説明 |
---|---|---|
任意 |
EntityManagerのルックアップ名を指定する属性です。 |
|
任意 |
persistence.xmlファイルで定義されている永続化ユニットの名前を指定する属性です。 |
|
任意 |
永続化コンテキストのライフサイクルの種類を指定する属性です。 |
|
任意 |
@PersistencePropertyで指定するベンダ依存のプロパティを指定する属性です。 |
(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.3 @PersistenceProperty」を参照してください。
properties属性を指定した場合,認識できないプロパティは無視します。
- デフォルト値
-
空の配列