Grails 多个域类+;可搜索插件+;圣杯

Grails 多个域类+;可搜索插件+;圣杯,grails,grails-plugin,Grails,Grails Plugin,我正在开发一个应用程序,其中有130多个域类,我将这些类用于数据库。我有一门课叫“请求”。在这个类中,有30多个对象,22个对象是对其他类的引用 当我尝试对域类执行搜索查询时,它抛出methodMissing异常并返回null值 但我在另一个域上使用了相同的搜索方法进行测试,效果非常好 那么这有什么问题呢?在应用Request.search(str)之后,它将生成如下异常 事件查询:(主题:值,描述:值,症状:值) groovy.lang.MissingMethodException:没有方法的

我正在开发一个应用程序,其中有130多个域类,我将这些类用于数据库。我有一门课叫“请求”。在这个类中,有30多个对象,22个对象是对其他类的引用

当我尝试对域类执行搜索查询时,它抛出methodMissing异常并返回null值

但我在另一个域上使用了相同的搜索方法进行测试,效果非常好

那么这有什么问题呢?

在应用Request.search(str)之后,它将生成如下异常

事件查询:(主题:值,描述:值,症状:值)

groovy.lang.MissingMethodException:没有方法的签名:

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


值:[(主题:值,描述:值,症状:值)]

如果您有这样一个请求类型的对象

    def request = Request.get(1) //or however you get your object
除非搜索是一个静态方法,否则您会这样调用搜索:

    request.seach(str)
不是


我也同意Seth的观点-调用类请求可能不是最好的主意…

如果您有一个名为
Request
的类,那么它很容易会干扰Grails注入魔法(取决于您执行查询的位置等)。不过,我认为如果不发布一些代码,您将不会得到有意义的答案。代码就像请求{其他类的所有对象,字符串对象,}我只是将此域作为statis searchable{all true}。当我调用LIN方法Request.search(param.str)时,它将通过方法缺失异常进行搜索。是否需要所有引用域类都是静态可搜索的true?错误:搜索查询是:(主题:值,描述:值,症状:值)groovy.lang.MissingMethodException:没有方法签名:request.request.Search()适用于参数类型:(java.lang.String)值:[(主题:值,描述:值,症状:值)]
    request.Request.search(str)