Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Persistence API: native query returning a list of Integers ?

843833Oct 6 2006 — edited Nov 13 2007
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
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 11 2007
Added on Oct 6 2006
8 comments
5,886 views