JPA application managed なEntityManagerは全てEXTENDEDになる

HibernateEJB3フォーラムに書かれてありました。つまり、Java SE環境で使うときは、EntityManagerは自動的にはクローズされず、手動でcloseするまで有効であり続けるってことですね。コンテナ環境のEntityManagerは従来どおりなんだとか。
JBoss EJB3のソースを覗いてみましたが、SessionFactoryのgetCurrentSessionみたいなことを、EntityManager単位で行ってました。更に、独自のEntityManager実装クラスの中で。トランザクションに紐づいたEntityManagerを呼び出して処理を委譲してました。なるほど・・・EntityManagerが、SessionFactory的な役割も内部で行ってるんですね。