Hibernate не может найти мои классы Entity, которые находятся в отдельном файле JAR - PullRequest
1 голос
/ 24 июня 2010

Мой файл persistence.xml находится в A.jar, а классы сущностей - в B.jar.При попытке создать запрос с помощью диспетчера сущностей (из A.jar) я получил исключение, сказав, что он не может найти NamedQueries.Однако именованные запросы перечислены в классе сущностей с помощью аннотации.

Пытался использовать <jar-file/> для включения B.jar в persistence.xml, но это не работает.Вот что я попробовал.

<persistence>
   <persistence-unit name="myapp">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <jta-data-source>java:/DefaultDS</jta-data-source>
      <properties>
         ... ...
      </properties>
      <jar-file>lib/B.jar</jar-file>
      <jar-file>../lib/B.jar</jar-file>
      <jar-file>WEB-INF/lib/B.jar</jar-file>
      <jar-file>B.jar</jar-file>

      <class>com.mypackage.Bar</class>
      <class>com.mypackage.Foo</class>
   </persistence-unit>
</persistence>

1 Ответ

0 голосов
/ 25 июня 2010

Разобрался с моей проблемой.

<jar-file/> не обязательно.

Все классы сущностей в jar-файлах, кроме текущего jar-файла, должны быть перечислены в <class/>, файл persistence.xml следует настроить так, чтобы узел <class/> располагался перед <properties/> (схема XML определяет все эти узлы как последовательность ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...