@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