Grails控制器类中的HQL查询导致的ClassCastException?

时间:2012-01-10 20:43:59

标签: grails groovy hql classcastexception

我最为困惑。我有一个非常简单的查询。

def value = Contribution.executeQuery(
                       'select sum(c.balance) from Contribution c where
 c.account.id=:accountId', [accountId: memberInstance?.account?.id])

我交互式地调试了 - 我可以 - 所需的实例都不是null(memberInstance,memberInstance.account)。但结果错误是ClassCastException?

Stacktrace follows:
java.lang.ClassCastException: com.myapp.contribution.ContributionService cannot be cast to com.myapp.contribution.ContributionService
       at com.myapp.contribution.ContributionService$$FastClassByCGLIB$$d800d90.invoke(<generated>) ...

有没有人有关于为什么要生成CCE的任何线索,此外,为什么类型类型无法投射到自身(无论如何,不​​是我理解为什么grails应该这样做?)

谢谢!

阿里克斯

1 个答案:

答案 0 :(得分:0)

好的 - 如果我将“def value”更改为“Double value”并将“[0]”追加到查询行的末尾(以获取返回的数组中的第一个值,这是缺少的部分之一) ,那就行了。

CCE非常误导......