Hi,
I am trying to query to list all instances of the Entity with @EmbededId, using native query (entityManager.createNativeQuery("{}",EnterpriseEntity.class).getResultList()), it is leading to an exception, please help to to resolve this problem.
Iam using Hibernate OGM 4.1.0.final and Wildfly 8.2.0.final server.
NOTE : The native query shown above works fine if you do not use composite key @EmbededId.
************************************************************MODEL***************************************************************************
Code:
@Entity
@Table(name = "Enterprise")
public class EnterpriseEntity
{
@EmbeddedId
private EnterpriseEntityKey id;
@Column(name = "description")
private String description;
@Column(name = "companyCount")
private int companyCount;
...........
}
@Embeddable
public class EnterpriseEntityKey implements Serializable
{
private int code;
private String name;
public EnterpriseEntityKey()
{
}
public EnterpriseEntityKey(int code, String name)
{
this.code =code;
this.name = name;
}
public int getCode()
{
return code;
}
public void setCode(int code)
{
this.code = code;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
**************************************************************SESSION BEAN CODE*******************************************************
Code:
@SuppressWarnings("unchecked")
@Override
public List<EnterpriseInfo> get()
{
List<EnterpriseInfo> lInfoList = new ArrayList<EnterpriseInfo>();
List<EnterpriseEntity> lEntityList = (List<EnterpriseEntity>) entityManager.createNativeQuery("{}",EnterpriseEntity.class).getResultList();
for(EnterpriseEntity lEntity : lEntityList)
{
lInfoList.add(lEntity.getInfo());
}
return lInfoList;
}
************************************************EXCEPTION************************************************************
Code:
Caused by: org.hibernate.AssertionFailure: null identifier
at org.hibernate.engine.spi.EntityKey.<init>(EntityKey.java:68)
at org.hibernate.internal.AbstractSessionImpl.generateEntityKey(AbstractSessionImpl.java:327)
at org.hibernate.ogm.loader.impl.OgmLoader.extractKeysFromResultSet(OgmLoader.java:477)
at org.hibernate.ogm.loader.impl.OgmLoader.getRowFromResultSet(OgmLoader.java:418)
at org.hibernate.ogm.loader.impl.OgmLoader.doQuery(OgmLoader.java:338)
at org.hibernate.ogm.loader.impl.OgmLoader.doQueryAndInitializeNonLazyCollections(OgmLoader.java:267)
at org.hibernate.ogm.loader.impl.OgmLoader.loadEntity(OgmLoader.java:186)
at org.hibernate.ogm.loader.impl.OgmLoader.loadEntities(OgmLoader.java:204)
at org.hibernate.ogm.hibernatecore.impl.BackendCustomLoader.entity(BackendCustomLoader.java:160)
at org.hibernate.ogm.hibernatecore.impl.BackendCustomLoader.listOfEntities(BackendCustomLoader.java:107)
at org.hibernate.ogm.hibernatecore.impl.BackendCustomLoader.list(BackendCustomLoader.java:89)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:353)
at org.hibernate.ogm.hibernatecore.impl.OgmSessionImpl.listCustomQuery(OgmSessionImpl.java:262)
at org.hibernate.ogm.hibernatecore.impl.OgmSessionImpl.list(OgmSessionImpl.java:302)
at org.hibernate.ogm.query.impl.NoSQLQueryImpl.list(NoSQLQueryImpl.java:130)
at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:573)
at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:449)
at org.jboss.as.jpa.container.QueryNonTxInvocationDetacher.getResultList(QueryNonTxInvocationDetacher.java:58)
at com.sprint.theatre.ejb.EnterpriseEJB.get(EnterpriseEJB.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:407)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43) [wildfly-ejb3-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ejb3.tx.EjbBMTInterceptor.handleInvocation(EjbBMTInterceptor.java:104) [wildfly-ejb3-8.2.0.Final.jar:8.2.0.Final]
... 98 more