2012-02-21 47 views
0

我正在开发一个应用程序,其中有超过130个域类,我使用这些类的数据库。我有一个叫做请求的类。在这个类中,有超过30个对象,22个对象是对其他类的引用。多域类+可搜索插件+ grails

当我尝试在域类上执行搜索查询时,它会抛出methodMissing异常并返回空值。

但我在另一个域上使用了相同的搜索方法进行测试,它的工作非常完美。

那么这有什么问题?

+2

如果你有一个叫'request'的类,那很容易让Grails注入魔法(取决于你执行查询的位置等)。不过,如果不发布一些代码,我不认为你会得到一个有意义的答案。 – 2012-02-21 20:11:05

+0

代码就像那个请求{其他类的所有对象,字符串对象,,}我只是把这个域作为statis可搜索的{all tr​​ue}。当我calllin方法Request.search(param.str)它将通过方法失踪异常。是否需要所有参考域类都是静态可搜索的真? – sanghavi7 2012-02-23 04:50:14

+0

错误:搜索查询是:(主题:值,说明:值,症状:值) groovy.lang.MissingMethodException:没有方法的签名:request.Request.search()适用于参数类型:(java.lang。字符串)值:[(主题:值,说明:值,症状:值)] – sanghavi7 2012-02-23 13:51:56

回答

1

申请Request.search(STR)后,就会产生这样的例外......

事件查询:(主题:值,说明:值,症状:值)

groovy.lang。 MissingMethodException:方法的无签名:

servicedesk.request.Request.search()是适用于参数类型:(java.lang.String中)

值:[(受试者:价值,描述:值,症状:Value)]

0

如果你有型请求这样

def request = Request.get(1) //or however you get your object 

的对象除非搜索是一个静态方法,你能叫出寻找这样的:

request.seach(str) 

request.Request.search(str) 

我也同意塞思 - 可能不是最好的主意来打电话给你的班级请求...