2013-02-15 3 views
1

У меня возникли проблемы с запуском Hibernate и Spring. У меня есть проект веб-сервера, который использует несколько других проектов, в которых есть постоянные объекты. Проблема заключается в том, что я получаю ClassNotFoundException для класса сущности, который хранится в другой банке внутри WEB-INF/libs.Спящий режим с пружиной

Нужно ли иметь persistence.xml для каждой банки, содержащей классы сущностей?

Пожалуйста, дайте мне знать, если вам нужны какие-либо файлы конфигурации.

ответ

1

В зависимости от вашей настройки, возможно, существует несколько различных способов решения этой проблемы - и никто из них обычно не чувствует идеи (ИМО).

Существенная проблема связана с изоляцией ClassLoader. Существуют правила относительно того, к чему могут обращаться файлы в банке.

В вашем конкретном случае самым простым способом решения этой проблемы является, вероятно, поместить persistence.xml в родительский веб-проект. Если вы не используете persistence xml, вам нужно перезагрузить hibernate/spring из веб-проекта.

Родительский веб-проект должен иметь доступ ко всем библиотекам своего WEB-INF/lib, тогда как каждый из банок в папке libs может не иметь доступа друг к другу.

Вы можете настроить еще один persistence.xml в каждой банке, но они не будут объединены вместе в один блок непрерывности. Вам нужно будет использовать другой pu в зависимости от того, какой объект вам нужен.

+0

Спасибо за ответ - я предполагал, что это проблема с загрузчиком. Я попробую ваш совет. – Walter

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