Я всегда думал, что @PersistenceContext предназначен для инъекции EntityManager в приложение, управляемое контейнером, а @PersistenceUnit предназначено для инъекции EntityManagerFactory.Внесите EntityManagerFactory через @PersitenceContext или @PersitenceUnit?
Javadoc говорит
Для PersistenceUnit (http://docs.oracle.com/javaee/7/api/javax/persistence/PersistenceUnit.html)
выражает зависимость на EntityManagerFactory и связанного с ним инерционности устройства.
И 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), который содержит пример, как этот
В следующем примере показано, как управлять транзакциями в приложение, которое использует приложение управляемых тайцами менеджер лицо:
@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 vs PersistenceContext
Вы все еще ищете ответ? –