当belongsTo指定多个类时,Grails属于删除级联?

时间:2011-04-03 23:43:45

标签: grails gorm cascade cascading-deletes

class Owner {
    static hasMany = Dog
}
class Sitter {
    static hasMany = Dog
}
class Dog {
    static belongsTo = [Owner, Sitter]
}

我的问题是:如果我创建一个Dog实例D,一个Owner实例O,一个Sitter实例S并将D与O和S关联起来,当S被删除时O会发生什么? O还有D吗?由于它是级联删除,S和D都会被删除,对吧?当O发生什么事?它还会有D吗?

1 个答案:

答案 0 :(得分:3)

我测试了它,它遵循级联规则:如果删除所有者,Dog将被级联删除,但Sitter将保留。

这是合理的:Sitter与所有者独立。 Sitter应该与Owner一起删除是不合逻辑的,因为他与Owner有一些共同属性。