Grails GORM多对多的关系

时间:2015-01-16 02:24:13

标签: grails groovy orm gorm

我想在删除其父Tweet时删除所有User,并在删除其父Tweet时删除协作者。其中collaborators,如果类型User

目前,Tweet视图不会挂钩协作者。我在想,如果我正在做以下事情:

Tweet.groovy

User owner
static hasMany = [ collaborators : User ]
static belongsTo = User

User.groovy

static hasMany = [ tweet : Tweet ] 

1 个答案:

答案 0 :(得分:0)

在我看来,你缺少一种关系,声明推特是由特定用户拥有的。因为现在你只会得到一个多对多的关系,我想你不想删除用户在删除用户时合作的所有推文。

<强> Tweet.groovy

static hasMany = [ collaborators : User ]
static belongsTo = User
User createdBy
static mappedBy = [collaborators : 'tweet']

<强> User.groovy

static hasMany = [ tweet : Tweet ]
static mappedBy = [tweet : 'collaborators']

上面的mappedBy是必需的,因为你将在类之间有两个关系,Grails需要知道哪一个用于多对多。