Question

J'ai la requête suivante que les travaux sous Hibernate, mais pas sous Eclipse:

select o from Organisation o where o.code=:code and o.type=:type

Il est pas clair pour moi pourquoi est-ce le cas, j'espérais que quelqu'un d'autre pourrait nous donner des précisions. L'erreur renvoyée est:

Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
Exception Description: Error compiling the query [select o from Organisation o where  o.code=:code and o.type=:type]. Unknown entity type [Organisation].

Nous avons fait aucun autre changement en dehors de la classe de commutation de fournisseur dans le fichier persistence.xml pour indiquer que nous utilisons maintenant EclipseLink.

Était-ce utile?

La solution

On dirait EclipseLink ne scrute pas la partie de vos fichiers JAR / classes qui contiennent la classe Organisation. Déclarer explicitement dans persistence.xml et de voir ce qui se passe:

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
<persistence-unit name="YourPersUnit">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

    <class>foo.bar.Organisation</class>
</persistence-unit>
</persistence>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top