Error with criteria API if an entity extends a non-entity [message #516293] |
Tue, 23 February 2010 09:26  |
Eclipse User |
|
|
|
Hi,
While testing out EclipseLink criteria API, I'm getting an error
java.lang.IllegalArgumentException: The type [null] is not the expected [ManagedType] for the key class [EntityBase]
when calling EntityManager.getCriteriaBuilder(). I seem to get the error only if any of the project's entities extend a non-entity. Without such entities the criteria query works, but if I add to the project something like:
@Entity
public class TestEntity extends EntityBase {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
public void setId(Long id){
this.id=id;
}
public Long getId() {
return id;
}
}
public class EntityBase {
}
.. the criteria query again fails at calling getCriteriaBuilder():
-- clip --
java.lang.IllegalArgumentException: The type [null] is not the expected [ManagedType] for the key class [EntityBase].
at org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl .managedType(MetamodelImpl.java:424)
at org.eclipse.persistence.internal.jpa.metamodel.ManagedTypeIm pl.getManagedSuperType(ManagedTypeImpl.java:755)
at org.eclipse.persistence.internal.jpa.metamodel.ManagedTypeIm pl.isAttributeDeclaredOnlyInLeafType(ManagedTypeImpl.java:10 51)
at org.eclipse.persistence.internal.jpa.metamodel.ManagedTypeIm pl.isAttributeDeclaredOnlyInLeafType(ManagedTypeImpl.java:99 9)
at org.eclipse.persistence.internal.jpa.metamodel.ManagedTypeIm pl.getDeclaredAttributes(ManagedTypeImpl.java:314)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl. initializeCanonicalMetamodel(EntityManagerSetupImpl.java:198 0)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl. getMetamodel(EntityManagerSetupImpl.java:1958)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImp l.getMetamodel(EntityManagerFactoryImpl.java:472)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImp l.getCriteriaBuilder(EntityManagerFactoryImpl.java:456)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.getCr iteriaBuilder(EntityManagerImpl.java:2081)
-- clip --
I'm using EclipseLink 2.0.1, Spring 2.5.6, Tomcat 6, PostgreSQL 8.4.
Any ideas how to get around this?
Regards,
Janne
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.05126 seconds