以下にJPAを使用できる実行環境について説明します。JPAの実行環境は、Java PersistenceのAPIを実行しているコンテナのことです。JPAを呼び出すアプリケーション(Servlet、EJBなど)と同コンテナ上で動作します。
実行環境  | コンテナ管理のエンティティマネージャ  | アプリケーション管理のエンティティマネージャ  | |
|---|---|---|---|
JTAトランザクション  | JTAトランザクション  | リソース・ローカルトランザクション  | |
EJBコンテナ  | ○  | ○  | ○  | 
Webコンテナ  | ○  | ○  | ○  | 
アプリケーションクライアントコンテナ  | -  | -  | ○  | 
Java SE(スタンドアロンアプリケーション)  | -  | -  | △ (注)  | 
アプレットコンテナ  | -  | -  | -  | 
○:サポート -:未サポート △:開発だけに使用可能
注) アプリケーション開発時のテストのためJava SEスタンドアロンアプリケーションでもアプリケーション管理のエンティティマネージャは対応していますが、動作は保証外です