2012-01-10 6 views
0

私はほとんど困惑しています。私は非常に単純なクエリを持っています。grailsコントローラクラスのHQLクエリの結果ClassCastException?

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

私は対話的にも私ができるようにデバッグ - インスタンスのいずれも必要ありませんが(memberInstance、memberInstance.account)はnullです。しかし、結果として生じるエラーは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のがこれをやるべき理由を私は理解していないことを、とにかく?)自体にキャストすることができませんでした

感謝します!

Alexx

+0

あなたはこれを見ましたか? http://stackoverflow.com/q/4855483/1123341 –

答えて

0

OK - 私は「DEF値」を「ダブル値」を変更し、追加する場合は、「[0]」クエリ行の末尾に(あった、配列の最初の値が返さ取得します欠けている部分の1つ)、これはうまくいく。

CCEは非常に誤解を招いていました...