JPQL inconsitency entre mise en veille prolongée et EclipseLink
-
27-09-2019 - |
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.
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