@PersistenceUnitはEntityManagerFactoryを注入するためのものですが、@PersistenceContextはコンテナ管理のアプリケーションにEntityManagerを注入するためのものだと常に考えてきました。@PersitenceContextまたは@PersitenceUnitを使用してEntityManagerFactoryを注入しますか?
JavadocはのEntityManagerFactoryおよびそれに関連する永続ユニットへの依存性を表す(http://docs.oracle.com/javaee/7/api/javax/persistence/PersistenceUnit.html)
PersistenceUnitについて
言います。
とのPersistenceContext用(http://docs.oracle.com/javaee/7/api/javax/persistence/PersistenceContext.html)
コンテナ管理のEntityManagerとその関連する永続コンテキストの依存性を表します。
次の例では、アプリケーションを使用するアプリケーションでトランザクションを管理する方法を示し、この
のような例が含まれているこれまでのところは良いが、その後、私はJPAのチュートリアルを読んでいた(https://docs.oracle.com/cd/E19798-01/821-1841/bnbqy/index.htmlを参照してください) -managedエンティティマネージャ:
@PersistenceContext
EntityManagerFactory emf;
EntityManager em;
@Resource
UserTransaction utx;
...
em = emf.createEntityManager();
try {
utx.begin();
em.persist(SomeEntity);
em.merge(AnotherEntity);
em.remove(ThirdEntity);
utx.commit();
} catch (Exception e) {
utx.rollback();
}
我々はマネージコードをアプリケーションの話をしている場合はそうのPersistenceContextものEntityManagerFactoryを参照することができますか?
免責事項 - 私はいつも@PersistenceUnitがのためにあった@PersistenceContextは、コンテナ管理のアプリケーションにEntityManagerを注入するためだったと思っているPersistenceUnit vs PersistenceContext
まだ答えはありますか? –