grails - 具有1:N关系的Grails GORM MissingMethodException

标签 grails groovy gorm

我有这样的 Realm 类:

class ServicesGroup {
    Long id
    String name
    String description

    String toString(){
        return name
    }

    static mapping = {
        version false
        table 'root.services_groups'

        id column:'group_id' 
        name column:'group_name'
        description column:'group_desc'
    }
}


class Step {
    Long id
    ServicesGroup service
    String stepType
    Integer stepFrom
    Integer stepTo

    static constraints = {
        stepType(inList:['operator', 'client'])
    }

    static mapping = {
        version false
        table 'bill.steps'
        service column:'service_group_id'
    }
}

关系是-一个ServicesGroup条目可以具有多个Step实例。

但是,当我在 Controller 中时,
Step.findByService(3)

我得到:
"org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: No signature of method: Step.findByService() is applicable for argument types: (java.lang.Integer) values: {3}"

但是,当我更改Step域类字段时
ServicesGroup service

简单地
Long service

有用。

这里发生了什么?

最佳答案

尝试这种方式:

Step.findByService(ServicesGroup.get(3))

关于grails - 具有1:N关系的Grails GORM MissingMethodException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896683/

相关文章:

json - 如何使用 Geb 检查非 html 响应?

grails - grails使用来自父域和子域的类似查询创建一个列表

grails - Groovy 空检查/返回

Grails:绝妙的子集合

xml - Groovy的XMLUtil序列化方法不起作用

grails - 过滤 'belongsTo'结果

grails - 当hasMany没有任何元素时,选择Grails条件

grails - 无法使用Grails 3.2.9在命令行上传递系统属性

java - GMaven 构建失败并显示 "An API incompatibility was encountered"

java - 使用 Groovy 对我的 session bean 进行 RMI 调用