5.3.2. アプリケーションにより管理されたエンティティマネージャ
アプリケーションにより管理されたエンティティマネージャは常に
EXTENDED です。トランザクション内部でエンティティマネージャを作成する場合、エンティティマネージャは現在のトランザクションに自動的に参加します。エンティティマネージャがトランザクションの外部で作成された場合は、エンティティマネージャが変更操作をキューに格納します。
JTAエンティティマネージャに対して JTA トランザクションがアクティブな場合は、entityManager.joinTransaction()が呼び出されます。RESOURCE_LOCALエンティティマネージャに対してはentityManager.getTransaction().begin()が呼び出されます。
エンティティマネージャはトランザクションに参加し、永続コンテキストを同期するためにキューに格納されたすべての操作が実行されます。
JTA トランザクションが関係しない場合、
entityManager.joinTransaction() を呼び出すことは不正ではありません。