Red Hat Training
A Red Hat training course is available for Red Hat JBoss Web Server
3.3. Java SE 環境での EntityManager の取得
エンティティマネージャファクトリは、変更不可の設定ホルダーと見なす必要があります。単一のデータソースを参照し、定義された一連のエンティティをマップするよう定義されます。これは、
EntityManager
を作成および管理するエンティティポイントです。Persistence
クラスはエンティティマネージャファクトリを作成するブートストラップクラスです。
// Use persistence.xml configuration EntityManagerFactory emf = Persistence.createEntityManagerFactory("manager1"); EntityManager em = emf.createEntityManager(); // Retrieve an application managed entity manager // Work with the EM em.close(); ... emf.close(); //close at application end
エンティティマネージャファクトリは通常アプリケーション初期化時に作成され、アプリケーション終了時に閉じられます。この作成はコストがかかるプロセスです。Hibernate の使用経験があるユーザーにとっては、エンティティマネージャファクトリはセッションファクトリに非常に似ています。実際には、エンティティマネージャファクトリはセッションファクトリの上部のラッパーです。entityManagerFactory への呼出は、スレッドセーフです。
EntityManagerFactory により、拡張されたエンティティマネージャを取得できます。拡張されたエンティティマネージャはエンティティマネージャのライフタイムの間、同じ永続コンテキストを保持します。つまり、エンティティは 2 つのトランザクション間で管理されます (間に entityManager.clear() を呼び出さない限り)。エンティティマネージャは Hibernate セッション上部の小さなラッパーと見なすことができます。