Hi,
I have a query which returns a list of integers:
String query = "select a.id from A a where ..."
So I do the following:
Query q = em.createNativeQuery(query, java.lang.Integer.class);
q.setMaxResults(10);
List<Integer> ids = q.getResultList();
This gives me the following exception:
Exception [TOPLINK-6007] (Oracle TopLink Essentials - 2006.4 (Build 060412)): oracle.toplink.essentials.exceptions.QueryException
Exception Description: Missing descriptor for [class java.lang.Integer].
Query: ReadAllQuery(java.lang.Integer)
at oracle.toplink.essentials.exceptions.QueryException.descriptorIsMissing(QueryException.java:403)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.checkDescriptor(ObjectLevelReadQuery.java:397)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.checkPrePrepare(ObjectLevelReadQuery.java:479)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.checkEarlyReturn(ObjectLevelReadQuery.java:418)
at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:556)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:677)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:731)
at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2211)
at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:937)
at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:909)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:342)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.getResultList(EJBQueryImpl.java:430)
Why? Is it not possible to return integers?
Message was edited by:
batzee
Message was edited by:
batzee