【问题标题】:Overcoming "No owner defined between domain classes" in Grails many-to-many relationship克服 Grails 多对多关系中的“域类之间没有定义所有者”
【发布时间】:2011-05-10 08:37:25
【问题描述】:

为了创建以下场景,我一直在关注“Grails in Action”一书。

一个地图属于一个或多个地图集ma​​pset 可以包含一个或多个ma​​ps。两者都属于用户

所以,我所做的是:

Map.groovy:

static hasMany = [ sets : Mapset ]
static belongsTo = [ user : User, set : Mapset ]

Mapset.groovy:

static hasMany = [ maps : Map ]
static belongsTo = [ user : User ]

User.groovy:

static hasMany = [ maps : Map, sets: Mapset ]

不过,我在运行应用程序时收到此错误:

原因:org.codehaus.groovy.grails.exceptions.GrailsDomainException:域类之间没有定义所有者 [class at.package.Mapset] 和 [class at.package.Map] 在多对多的关系。示例:静态 belongsTo = at.package.Map

如果我为 Map 编写完全限定的类名,它不会改变任何东西。

【问题讨论】:

    标签: grails entity-relationship


    【解决方案1】:

    哎呀,这很奇怪。以下是诀窍:

    Map.groovy:

    static belongsTo = [ User, Mapset ]
    

    我可能会保留这个作为答案而不是删除问题,因为在 SO 上还没有关于此错误消息的参考

    【讨论】:

    • set 肯定是保留字。所以这就是为什么(不是 100% 肯定很难)
    • 是的,这就是我后来想到的,Set(大写)可能会更糟。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多