这些是我的域类:
class Game {
static hasMany = [players: User]
static belongsTo = [owner: User]
}
class User {
static hasMany = [games: Game]
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用它们,我会得到它们No owner defined between domain classes.所以我需要设置关系的所有者.添加static belongsTo = Game到User原因Domain classes cannot own each other in a many-to-many relationship.
我能想到的唯一的其他选择是添加static belongsTo = User到Game类,但我已经有一个belongsTo存在.
我该如何建模呢?
class Game {
User owner
static hasMany = [players: User]
static belongsTo = User
}
class User {
static hasMany = [games: Game]
}
Run Code Online (Sandbox Code Playgroud)
您必须指定关系的一侧作为所有者,通过这样做,您将使User域类成为多对多关系的所有者.
该belongsTo字段控制addTo*()可以使用动态方法的位置.我们可以打电话,User.addToGames()因为Game belongsTo
User.我们不能打电话Game.addToPlayers().
尝试这个:
class Game {
User owner
static hasMany = [players: User]
static belongsTo = User
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3188 次 |
| 最近记录: |