我的Grails 2.2.5應用程序突然開始出現MissingMethodException,沒有任何代碼變化,錯誤似乎是虛假的,所以我在某處懷疑是否有損壞。我得到這個錯誤:Spurious MissingMethodException,Grails 2.2.5
No signature of method: arthurs.Sale.findByCustomerAndComplete() is applicable for argument types: (arthurs.Customer, java.lang.Boolean) values: [arthurs.Customer : 59, false]
Possible solutions: findByCustomerAndComplete([Ljava.lang.Object;). Stacktrace follows:
Message: No signature of method: arthurs.Sale.findByCustomerAndComplete() is applicable for argument types: (arthurs.Customer, java.lang.Boolean) values: [arthurs.Customer : 59, false]
Possible solutions: findByCustomerAndComplete([Ljava.lang.Object;)
這工作正常,直到昨天。 Sale類實際上具有'customer'(Customer class)和'complete'(布爾)屬性,而且我已經檢查過我傳遞的是有效參數。在任何情況下,錯誤消息都會指定參數類型,並且這些都是正確的。
那麼,爲什麼我的動態'findBy ...'方法突然停止工作?在過去,我經常發現做一個'grails clean'通常會把這些東西分類出來,但它似乎沒有幫助過這個。
有什麼我應該清除,給自己一個空白的石板?
您是否嘗試使用where,criteria或hql查詢來查詢您是否得到不同的行爲? – user615274
不,我沒有。在第一次提出問題時,我能夠解決這個問題,用'def sale = customer.sales.find {it.complete == false}',它以不同的方式完成同樣的事情。但問題是,我的代碼沒有問題。我對換掉一些無法工作的代碼感到不安,我寧願在其他地方找到潛在的問題。 –