Ошибка CWWJP0009E при создании единицы сохраняемости

Я столкнулся со следующей ошибкой при запуске приложения Java EE в IBM WebSphere Application Server WAS 7.

JPAPUnitInfo E CWWJP0009E: Серверу не удалось создать фабрику EntityManagerFactory для постоянной единицы NAME_OF_THE_PERSISTENCE_UNIT из поставщика org.hibernate.ejb.HibernatePersistence в файле:/C:/PATH/TO/APPLICATION/цель/классы/модуль.

Определенно что-то не так в определении вашей единицы персистентности. Вы можете найти конфигурацию в файле persistence.xml. Чтобы получить более подробную информацию, вы должны включить трассировку для поддержки JPA сервера.


person Peter Wippermann    schedule 10.06.2014    source источник


Ответы (1)


Включить трассировку в WAS для JPA

В главном меню консоли администратора Application Server выберите:

  1. Поиск проблемы
  2. Журналы и трассировка
  3. Ваш сервер
  4. Изменить уровни детализации журнала
  5. Switch to one of the two tabs:
    • "Configuration" for a durable change, which are effective after restart
    • «Время выполнения» для немедленно активных изменений, которые отменяются после перезапуска.
  6. Добавить сообщения всех уровней серьезности от com.ibm.ws.jpa.*

Ваша окончательная конфигурация трассировки может выглядеть так:

*=info: com.ibm.ws.jpa.*=all

Это может быть активным сразу или после перезапуска, в зависимости от вашего выбора выше.

Теперь вы найдете информацию для регистрации в файле trace.log сервера, который хранится в каталоге журналов сервера. Например.

C:\IBM\SDP\runtimes\base_v7\profiles\AppSrv01\logs\server1


Решение

Причина вашей проблемы может сильно различаться. Таким образом, вы должны полагаться на диагностику вашего файла трассировки.

Однако в моей ситуации я нашел там следующее:

JPAPUnitInfo 3 Обнаружено неожиданное исключение: org.hibernate.AnnotationException: использование @OneToMany или @ManyToMany для неотображенного класса: com.acme.Class1.prop2[com.acme.Class2]

Вам тоже может быть полезно поискать AnnotationException. В моем случае я добавил Class2 к определению PU в файле persistence.xml. Это сработало.

Удачи ребята ;-)

person Peter Wippermann    schedule 10.06.2014