2010-06-24 4 views
1

Mon fichier persistence.xml se trouve dans A.jar et les classes d'entités dans B.jar. Lorsque vous essayez de créer une requête en utilisant le gestionnaire d'entités (à partir de A.jar), j'ai une exception disant qu'il ne peut pas trouver NamedQueries. Toutefois, les requêtes nommées sont répertoriées dans la classe d'entité à l'aide d'annotations.Hibernate ne trouve pas mes classes Entity qui se trouvent dans un fichier jar distinct

J'ai essayé d'utiliser <jar-file/> pour inclure B.jar dans persistence.xml, mais cela ne fonctionne pas. Voici ce que j'ai essayé.

<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> 
+0

S'il vous plaît montrer ce que vous avez essayé ** exactement **. –

+0

Ajouté quelque chose que j'ai essayé. – Alex

Répondre

0

J'ai trouvé mon problème.

<jar-file/> n'est pas nécessaire.

Toutes les classes d'entités dans des bocaux autres que bocal en cours doivent être énumérés dans <class/>, persistence.xml doit être configuré de sorte que le noeud <class/> est placé en face de <properties/> (schéma XML définit tous les noeuds comme séquence).

Questions connexes