我想要一个孩子添加到两个不同的父类,这样的:Grails的一对一的两个域对象
第一:
class Member {
Profile profile
Member() {
this.profile = new Profile()
}
static mapping = {
profile cascade: 'all-delete-orphan'
}
}
二:
class Team {
Profile profile
Team() {
this.profile = new Profile()
}
static mapping = {
profile cascade: 'all-delete-orphan'
}
}
泰华孩子简单地定义如下
class Profile() {
}
问题是当我保存父母时,它保存着孩子:
Member member = new Member().save(flush: true, failOnError: true)
assert !member.hasErrors()
assert member.profile
assert !member.profile.hasErrors()
assert member.profile.id //FAIL
我该怎么做?有没有更好的方法来做到这一点?
UPDATE:
我发现这个
Saving associated domain classes in Grails
这似乎是 '属于' 是需要这种行为。但为什么'cascade:'all-delete-orphan'不强制这样做?因为我不能在该特定情况下使用“属于”
其中是'成员'中定义的组? – 2013-05-09 09:50:26
对不起,我输入我的问题时出错。现在它已经得到纠正,多亏了指出它! – Thermech 2013-05-09 09:52:42
你在冲洗吗? '.save(flush:true)' – 2013-05-10 13:52:20