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

slh*_*hck 0 grails entity-relationship

我遵循“Grails in Action”一书来创建以下场景。

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

所以,我所做的是:

Map.groovy:

static hasMany = [ sets : Mapset ]
static belongsTo = [ user : User, set : Mapset ]
Run Code Online (Sandbox Code Playgroud)

Mapset.groovy:

static hasMany = [ maps : Map ]
static belongsTo = [ user : User ]
Run Code Online (Sandbox Code Playgroud)

User.groovy:

static hasMany = [ maps : Map, sets: Mapset ]
Run Code Online (Sandbox Code Playgroud)

尽管如此,我在运行应用程序时收到此错误:

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

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