我有以下的域刪除m比米還試圖級聯刪除一個-2-酮
class Committee {
String name
BoardCommitteeType boardCommitteeType
Date dateCreated
Date lastUpdated
User createdBy
User modifiedBy
static belongsTo = [
board: Board,
]
static hasMany = [
members: User
]
}
class User {
static hasMany = [
committees: Committee,
]
static belongsTo = [
Board, Committee
]
}
的問題是,當我嘗試做一個board.removeFromCommittees(委員會)我會得到以下例外:
刪除的對象將通過級聯重新保存(從關聯中刪除刪除的對象):[com.wbr.highbar.User#1];
我明白這意味着什麼。我不明白的是爲什麼我得到它。另一個有趣的地方是,如果我在委員會實例中使creatdBy和modifiedBy爲null,那麼刪除工作就好了。這就是爲什麼我認爲GORM正在嘗試級聯一對一。我的理論是,這與用戶屬於委員會的事實有關。但我不知道如何解決這個問題。
這種方法充滿了循環依賴關係,這就是導致問題的原因。考慮你是否可以重構你的領域模型。 – mfloryan 2010-10-09 19:04:27
對於循環依賴是如何導致我的問題的,你能更具體一些嗎? – Gregg 2010-10-09 19:30:13