在Grails多对多关系中克服“没有在域类之间定义的所有者”

时间:2011-05-10 08:37:25

标签: grails entity-relationship

我正在关注“Grails in Action”一书,以便创建以下场景。

  

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

所以,我做的是:

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]之间定义的所有者多对多的关系。示例:static belongsTo = at.package.Map

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

1 个答案:

答案 0 :(得分:4)

哎呀,这太奇怪了。以下技巧:

Map.groovy

static belongsTo = [ User, Mapset ]

我可能会将此作为答案而不是删除问题,因为在SO上没有对此错误消息的引用