Грааль принадлежит каскаду при удалении, когда принадлежит, чтобы указать несколько классов? - PullRequest
3 голосов
/ 04 апреля 2011
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, что происходит с O, когда S удаляется?Будет ли О еще иметь D?Поскольку это каскадное удаление, и S, и D будут удалены, верно?Когда что происходит с O?Будет ли еще D?

1 Ответ

3 голосов
/ 04 апреля 2011

Я проверил это, оно следует правилу каскада: если вы удалите Владельца, Собака будет удалена каскадом, но Ситтер останется.

И это разумно: Ситтер независим от Владельца. Нелогично, чтобы Ситтер удалялся вместе с Владельцем только потому, что у него есть некоторые общие свойства с Владельцем.

...