【发布时间】:2012-06-27 03:52:05
【问题描述】:
我有以下:
class Match{
Team localTeam
Team visitingTeam
}
class Team{
static hasMany = [matches: Match]
}
抛出: 加载插件管理器时出错:类 [class myapp.Team] 中的属性 [matches] 是双向的一对多,反面有两个可能的属性。要么命名关系 [team] 另一侧的属性之一,要么使用“mappedBy”静态定义关系映射的属性。示例:静态 mappedBy = [matches:'myprop']
所以,我使用'mappedBy':
class Team{
static hasMany = [matches: Match]
static mappedBy = [matches: localTeam, matches: visitingTeam]
}
但是,通过这样做,当我从 db 获得球队时,matches Set 仅包含球队是客队的比赛,这意味着它只将比赛映射到访问队。
如果我编写以下代码:
class Team{
static hasMany = [matches: Match]
static mappedBy = [matches: localTeam]
}
它只映射本地团队的匹配。
有没有办法将两场比赛(当球队是本地的,当它是访客时)映射到球队?
【问题讨论】:
-
有什么解决办法吗?
标签: grails mapping grails-orm