我想在删除其父Tweet
时删除所有User
,并在删除其父Tweet
时删除协作者。其中collaborators
,如果类型User
目前,Tweet视图不会挂钩协作者。我在想,如果我正在做以下事情:
Tweet.groovy
User owner
static hasMany = [ collaborators : User ]
static belongsTo = User
User.groovy
static hasMany = [ tweet : Tweet ]
答案 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需要知道哪一个用于多对多。