В нескольких проектах я успешно использовал
@PersistenceUnit(unitName = "MiddlewareJPA")
EntityManagerFactory emf;
...
EntityManager entityManager = emf.createEntityManager();
получить EntityManager
для подключения к базе данных, но несколько дней назад я пытался переместить мой проект на Jboss EAP 6.2
, и он не смог создать EntityManager
. Я искал его, и я обнаружил, что должен попробовать изменить @PersistenceUnit
на
@PersistenceContext(unitName = "MiddlewareJPA")
private EntityManager entityManager;
чтобы получить EntityManager. Это сработало, но я не знаю почему. В чем разница между PersistenceUnit
и PersistenceContext
? Каковы плюсы и минусы каждого из них? Где мы должны использовать один из них?