Pregunta

Tengo la siguiente consulta, que funciona bajo Hibernate, pero que no están bajo el eclipse:

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

No es claro por qué este es el caso, yo estaba esperando que alguien más podría elaborar para nosotros. El error de ser devuelto es:

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].

Hemos realizado ningún otro cambio, aparte de cambiar la clase de proveedor en el archivo persistence.xml para indicar que ahora estamos utilizando EclipseLink.

¿Fue útil?

Solución

Las apariencias como EclipseLink no está escaneando la parte de los archivos JAR / clases que contienen la clase Organización. Declararlo explícitamente en persistence.xml y ver lo que sucede:

<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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top