2012-01-10 64 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]) 

我交互式調試,以及我能 - 沒有要求的情況下爲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的應該做的嗎?)

謝謝!

阿里克斯

+0

你見過這個? http://stackoverflow.com/q/4855483/1123341 – 2012-01-10 20:57:02

回答

0

行 - 如果我改變「DEF值」到「雙重值」和追加「[0]」至查詢線的端部(以獲得陣列中的第一個返回值,這是其中一個缺失的部分),那麼這個工作。

該CCE是非常誤導...