我对以下几点感到困惑..
域模型由一个拥有地址的人组成,这些地址也可以被其他人引用。
所以A的地址是1,2,3,B的地址是1,4 ,5否当我删除A的时候,B的地址也是1!我的印象是,级联:‘all-delete-all’就是为这种情况而设计的。但是可能我犯了一个错误!我该如何解决这个问题呢?
class Person {
Address address
Address addressPostal
Address addressInvoice
static mapping = {
address cascade:'all-delete-orphan'
addressPostal cascade:'all-delete-orphan'
addressInvoice cascade:'all-delete-orphan'
}
}
class Address {
String street
String streetNo
String streetSuffix
} 发布于 2011-12-01 05:41:20
我认为all-delete-orphan以另一种方式工作。当您从一侧的集合中删除多个对象时,该对象将被自动删除。否则,它将以null作为外键被“孤立”。
你可以以另一种方式使用它。例如,Address有一个static hasMany = [persons: Person],您从其中删除了Person,all-delete-orphan也会删除该person。
https://stackoverflow.com/questions/8332907
复制相似问题