ClassCastException в результате запроса HQL в классе контроллера Grails?

Я в большом недоумении. У меня очень простой запрос.

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

Я интерактивно отлаживал, как мог - ни один из требуемых экземпляров не является нулевым (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 должен это делать?)

СПАСИБО!

Алекс


person Alexx    schedule 10.01.2012    source источник
comment
Вы видели это? stackoverflow.com/q/4855483/1123341   -  person Todd Murray    schedule 11.01.2012


Ответы (1)


OK - если я изменю "def value" на "Double value" и добавлю "[0]" в конец строки запроса (чтобы получить первое значение в возвращаемом массиве, которое было одной из недостающих частей), то это работает.

CCE ввела в заблуждение...

person Alexx    schedule 10.01.2012