Я застрял между молотом и наковальней в данный момент с этой проблемой. Если я определю свой контекст постоянства как:
@PersistenceContext(unitName = "persistentUnit")
private EntityManager entityManager;
Glassfish отказался запускаться с ошибкой:
SEVERE: Could not resolve a persistence unit corresponding to the persistence-context-ref-name [com.ckd.business.MusicService/entityManager] in the scope of the module called [home]. Please verify your application.
Но если я изменил объявление на:
e@PersistenceContext(name = "persistentUnit")
private EntityManager entityManager;
Glassfish может развернуть мой WAR-файл, но когда я загружаю страницу, я получаю следующее:
java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName null
Какого черта ?! Я сохранил файл persistence.xml в каталоге WEB-INF \ classes \ META-INF согласно требованию и увидел, что Glassfish правильно загрузил JPA. Но не важно, чем я занимаюсь, Glassfish всегда терпит неудачу. Я использую Glassfish 3.1 OpenSource Edition .
Кто-нибудь знает решение или обходной путь для этого? Спасибо.