【发布时间】:2013-05-03 18:09:54
【问题描述】:
我想将一个孩子添加到两个不同的父类中,就像这样:
第一:
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'
}
}
thw child 就是这样定义的
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
我做错了什么?有没有更好的方法?
更新:
我找到了这个
Saving associated domain classes in Grails
这种行为似乎需要“属于”。但是为什么'级联:'all-delete-orphan'不强制这样做?因为在那种特定情况下我不能使用“属于”
【问题讨论】:
-
group在Member中定义在哪里? -
抱歉,我在输入问题时出错了。现已更正,感谢指出!
-
你在冲洗吗?
.save(flush: true) -
是的,在单元测试中 session.flush 有问题。
标签: grails grails-2.2