javax.persistenceパッケージのアノテーションは,JPAプロバイダに依存する場合としない場合で記述できるコンポーネントが異なります。ここでは,JPAプロバイダに依存するアノテーションとJPAプロバイダに依存しないアノテーションに分けて説明します。
JPAプロバイダに依存するアノテーションの適用範囲を説明します。ここでは,コンポーネントごとに記述できるアノテーションを説明します。
WARファイルに記述できるアノテーションの一覧を示します。
表2-18 WARファイル(Servlet 3.0対応)に記述できるアノテーション(javax.persistenceパッケージ)
アノテーション名 | Servlet仕様 | JSP仕様 | 例外クラス | ManagedBean(JSF) | その他のクラス | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
サーブレット | サーブレット(API) | サーブレットフィルタ | サーブレットフィルタ(API) | イベントリスナ | イベントリスナ(API) | JSPファイル | タグハンドラ | タグライブラリイベントリスナ | |||||
クラシックタグハンドラ | シンプルタグハンドラ | ||||||||||||
@PersistenceContext | ○ | - | ○ | - | ○ | - | - | ○ | ○ | × | - | ○ | - |
@PersistenceContexts | ○ | - | ○ | - | ○ | - | - | ○ | ○ | × | - | ○ | - |
@PersistenceProperty | ○ | - | ○ | - | ○ | - | - | ○ | ○ | × | - | ○ | - |
@PersistenceUnit | ○ | - | ○ | - | ○ | - | - | ○ | ○ | × | - | ○ | - |
@PersistenceUnits | ○ | - | ○ | - | ○ | - | - | ○ | ○ | × | - | ○ | - |
WARファイルに記述できるアノテーションの一覧を示します。
表2-19 WARファイル(Servlet 2.5対応)に記述できるアノテーション(javax.persistenceパッケージ)
アノテーション名 | Servlet仕様 | JSP仕様 | その他のクラス | |||||
---|---|---|---|---|---|---|---|---|
サーブレット | サーブレットフィルタ | イベントリスナ | JSPファイル | タグハンドラ | タグライブラリイベントリスナ | |||
クラシックタグハンドラ | シンプルタグハンドラ | |||||||
@PersistenceContext | ○ | ○ | ○ | - | ○ | ○ | × | - |
@PersistenceContexts | ○ | ○ | ○ | - | ○ | ○ | × | - |
@PersistenceProperty | ○ | ○ | ○ | - | ○ | ○ | × | - |
@PersistenceUnit | ○ | ○ | ○ | - | ○ | ○ | × | - |
@PersistenceUnits | ○ | ○ | ○ | - | ○ | ○ | × | - |
EJB-JARファイルに記述できるアノテーションの一覧を示します。
表2-20 EJB-JARファイル(EJB3.1/EJB3.0対応)に記述できるアノテーション(javax.persistenceパッケージ)
アノテーション名 | Enterprise Bean | 例外クラス | その他のクラス | |||||
---|---|---|---|---|---|---|---|---|
インタフェース | Session Bean | Entity Bean | Message-driven Bean | インターセプタ | ||||
デフォルトインターセプタ以外 | デフォルトインターセプタ | |||||||
@PersistenceContext | - | ○ | - | × | ○ | ○ | - | - |
@PersistenceContexts | - | ○ | - | × | ○ | ○ | - | - |
@PersistenceProperty | - | ○ | - | × | ○ | ○ | - | - |
@PersistenceUnit | - | ○ | - | × | ○ | ○ | - | - |
@PersistenceUnits | - | ○ | - | × | ○ | ○ | - | - |
ライブラリJARのサーブレットまたはJSPに記述できるアノテーションの一覧を示します。
表2-21 ライブラリJAR(サーブレット/JSP)に記述できるアノテーション(javax.persistenceパッケージ)
アノテーション名 | Servlet仕様 | JSP仕様 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
サーブレット | サーブレット(API) | サーブレットフィルタ | サーブレットフィルタ(API) | イベントリスナ | イベントリスナ(API) | JSPファイル | タグハンドラ | タグライブラリイベントリスナ | ||
クラシックタグハンドラ | シンプルタグハンドラ | |||||||||
@PersistenceContext | - | - | ○ | - | ○ | - | - | ○ | ○ | × |
@PersistenceContexts | - | - | ○ | - | ○ | - | - | ○ | ○ | × |
@PersistenceProperty | - | - | ○ | - | ○ | - | - | ○ | ○ | × |
@PersistenceUnit | - | - | ○ | - | ○ | - | - | ○ | ○ | × |
@PersistenceUnits | - | - | ○ | - | ○ | - | - | ○ | ○ | × |
ライブラリJARのEnterprise Bean,例外クラス,またはその他のクラスに記述できるアノテーションの一覧を示します。
表2-22 ライブラリJAR(Enterprise Bean/例外クラス/その他のクラス)に記述できるアノテーション(javax.persistenceパッケージ)
アノテーション名 | Enterprise Bean | 例外クラス | ||||
---|---|---|---|---|---|---|
インタフェース | Session Bean | Entity Bean | Message-driven Bean | インターセプタ | ||
@PersistenceContext | - | - | - | × | ○ | - |
@PersistenceContexts | - | - | - | × | ○ | - |
@PersistenceProperty | - | - | - | × | ○ | - |
@PersistenceUnit | - | - | - | × | ○ | - |
@PersistenceUnits | - | - | - | × | ○ | - |
JPAプロバイダに依存しないアノテーションは,ファイルの種類に関係なく,エンティティクラス内に記述できます。
javax.persistenceパッケージに含まれるアノテーションの一覧については, 「2.7 javax.persistenceパッケージ」のアノテーション一覧を参照してください。