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