我想要一個孩子添加到兩個不同的父類,這樣的: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