我突然开始在我的Grails 2.2.5应用程序中收到MissingMethodException,代码没有任何变化,错误似乎是虚假的,所以我怀疑某处的腐败。我收到此错误:
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类确实有“顾客”这样的顾客。 (客户类)和'完成' (布尔)属性,我已经检查过我传递的是有效参数。在任何情况下,错误消息都指定参数类型,这些是正确的。
那么为什么我的动态可以找到...'方法突然停止工作?在过去,我经常发现做一个干净的' grails'经常对这些事情进行排序,但似乎并没有帮助解决这个问题。
还有什么我应该清楚的,给自己一块空白的石板吗?
答案 0 :(得分:0)
好吧,不知道那里发生了什么,但是从'.grails / 2.2.5 / projects'删除项目文件夹就行了。
后来:不,问题又回来了。现在非常困惑。
稍后:嗯,我现在已经确定了触发问题的原因,尽管我完全不知道为什么会这样做。如果我将一个类型为Date的'created'属性添加到我的Sale类中,问题会一直存在并一直存在,直到我删除该属性,从MySQL表中删除该列,并删除项目文件夹。但是,如果我在约束中将此属性标记为可为空,则可以正常工作。 ???