2015-02-12 4 views
0

Я пишу Entity.jar. Модуль EJB содержит класс сущности и класс etitydao. Когда я запустить его на GlassFish, у меня есть сообщение об ошибке:java.lang.illegalstateexception не удалось получить entitymanagerfactory для unitname null

Caused by: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName null 
    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.init(EntityManagerWrapper.java:138) 
    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTxRequiredCheck(EntityManagerWrapper.java:158) 
    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTransactionScopedTxCheck(EntityManagerWrapper.java:151) 
    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:281) 
    at com.styl.thincapayment.dao.impl.DataAccessImpl.insertToDatabase(DataAccessImpl.java:42) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 

Я думаю, что это происходит от persistence.xml. Я помещал это неправильно. Как решить эту проблему.

  • я положил файл настойчивость в компании/SRC/ресурсы/persistence.xml. Я использую Maven для управления проектом

  • Декларация EntityManager:

    @PersistenceContext (UnitName = "сущность")

    защищенного EntityManager EntityManager;

ответ

0

persistence.xml следует поместить в папку CLASS_PATH_ROOT/META-INF.

Если вы используете Maven «s standard project layout, путь должен быть src/main/resources/META-INF/persistence.xml

+0

Благодаря Кен Чан много. я починил это –

Смежные вопросы