Pergunta

Eu tenho a seguinte consulta que funciona sob hibernação, mas não sob o Eclipse:

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

Não está claro para mim por que esse é o caso, eu esperava que alguém pudesse elaborar para nós. O erro que está sendo retornado é:

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

Não fizemos outras alterações além da troca da classe do provedor no arquivo persistence.xml para indicar que agora estamos usando o Eclipselink.

Foi útil?

Solução

Parece que o Eclipselink não está digitalizando a parte de seus arquivos/classes JAR que contêm a classe da organização. Declare isso explicitamente na persistência.xml e veja o que acontece:

<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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top