Skip to Main Content

Java Development Tools

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!

Named Queries and Enum error

639263Jul 14 2008 — edited Jul 14 2008
@NamedQuery(name = "Task.findNumberTasksComplete", query = "select count(o.id) from Task o where o.status like 'C%'")

that is the query i am performing. Status is an enumerator type.

When i try to perform this,

int numerator = Integer.parseInt(em.createNamedQuery("Task.findNumberTasksComplete").getSingleResult().toString());

I get the following error

Caused by: java.lang.ClassCastException
	at java.lang.Class.cast(Class.java:2951)
	at oracle.toplink.mappings.converters.EnumTypeConverter.convertObjectValueToDataValue(EnumTypeConverter.java:109)
	at oracle.toplink.mappings.foundation.AbstractDirectMapping.getFieldValue(AbstractDirectMapping.java:520)
	at oracle.toplink.internal.expressions.QueryKeyExpression.getFieldValue(QueryKeyExpression.java:293)
	at oracle.toplink.internal.expressions.ConstantExpression.printSQL(ConstantExpression.java:106)
	at oracle.toplink.expressions.ExpressionOperator.printDuo(ExpressionOperator.java:1806)
	at oracle.toplink.internal.expressions.CompoundExpression.printSQL(CompoundExpression.java:266)
	at oracle.toplink.internal.expressions.RelationExpression.printSQL(RelationExpression.java:552)
	at oracle.toplink.internal.expressions.ExpressionSQLPrinter.translateExpression(ExpressionSQLPrinter.java:277)
	at oracle.toplink.internal.expressions.ExpressionSQLPrinter.printExpression(ExpressionSQLPrinter.java:107)
	at oracle.toplink.internal.expressions.SQLSelectStatement.printSQL(SQLSelectStatement.java:1414)
	at oracle.toplink.internal.databaseaccess.DatabasePlatform.printSQLSelectStatement(DatabasePlatform.java:2425)
	at oracle.toplink.platform.database.oracle.OraclePlatform.printSQLSelectStatement(OraclePlatform.java:695)
	at oracle.toplink.internal.expressions.SQLSelectStatement.buildCall(SQLSelectStatement.java:731)
	at oracle.toplink.descriptors.ClassDescriptor.buildCallFromStatement(ClassDescriptor.java:635)
	at oracle.toplink.internal.queryframework.StatementQueryMechanism.setCallFromStatement(StatementQueryMechanism.java:367)
	at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.prepareReportQuerySelectAllRows(ExpressionQueryMechanism.java:1491)
	at oracle.toplink.queryframework.ReportQuery.prepareSelectAllRows(ReportQuery.java:1201)
	at oracle.toplink.queryframework.ReadAllQuery.prepare(ReadAllQuery.java:767)
	at oracle.toplink.queryframework.ReportQuery.prepare(ReportQuery.java:973)
	at oracle.toplink.queryframework.DatabaseQuery.checkPrepare(DatabaseQuery.java:443)
	at oracle.toplink.queryframework.ObjectLevelReadQuery.checkPrepare(ObjectLevelReadQuery.java:608)
	at oracle.toplink.queryframework.DatabaseQuery.prepareCall(DatabaseQuery.java:1528)
	at oracle.toplink.internal.ejb.cmp3.base.EJBQueryImpl.getDatabaseQuery(EJBQueryImpl.java:427)
	at oracle.toplink.internal.ejb.cmp3.base.EJBQueryImpl.setAsSQLReadQuery(EJBQueryImpl.java:95)
	at oracle.toplink.internal.ejb.cmp3.base.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:507)
	at ca.esti.qa.model.QualityAssuranceBean.calculatePercentFinished(QualityAssuranceBean.java:431)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:27)
	at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:101)
	at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
	at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:101)
	at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
	at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:101)
	at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
	... 126 more

Any help is greatly appreciated!!

Dan

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 11 2008
Added on Jul 14 2008
1 comment
573 views