5.3.2 使用できるコンポーネント
アプリケーションサーバでは,EJB,WebアプリケーションでJPAを使用できます。また,Webアプリケーションからユーザスレッドを使用した場合も,JPAを使用できます。なお,次に示す環境またはライブラリではJPAを使用できません。
-
EJBクライアントアプリケーション環境
-
J2EEアプリケーションクライアント環境
-
コンテナ拡張ライブラリ
JPAを使用できるコンポーネントを次の表に示します。
コンポーネント |
JPAの使用 |
|
---|---|---|
EJB |
Stateless Session Bean(EJB3.0以降)※1 |
○ |
Stateful Session Bean(EJB3.0以降)※1 |
○ |
|
Stateless Session Bean(EJB3.0より前) |
× |
|
Stateful Session Bean(EJB3.0より前) |
× |
|
Singleton Session Bean |
× |
|
EJBに関連づくインターセプタ※1※3 |
○ |
|
Message-driven Bean |
× |
|
Entity Bean |
× |
|
CDI Managed Bean(EJBに注入される場合)と,それに関連づくインターセプタ※4 |
○ |
|
Webアプリケーション |
サーブレット,フィルタ,イベントリスナ(Servlet2.5以降) |
○ |
JSP,JSPのタグハンドラ,JSPのイベントリスナ,JSPのタグライブラリイベントリスナ※2(Servlet2.5以降) |
○ |
|
サーブレット,フィルタ,イベントリスナ(Servlet2.5より前) |
× |
|
JSP,JSPのタグハンドラ,JSPのイベントリスナ,JSPのタグライブラリイベントリスナ(Servlet2.5より前) |
× |
|
CDI Managed Bean(Webコンポーネントに注入される場合)と,それに関連づくインターセプタ※4 |
○ |
- 注意事項
-
Servlet 2.5以降のweb.xmlのmetadata-complete属性にtrueが設定されている場合,Webコンポーネントのアノテーションが読み込まれません。このため,アノテーションを使用して,永続化コンテキストまたは永続化ユニットの参照を定義することはできません。ただし,web.xmlに参照を定義することはできます。