【发布时间】:2013-05-14 10:22:02
【问题描述】:
我想问一下我的项目。 我有两个这样的域
【问题讨论】:
标签: grails controller relational-database
我想问一下我的项目。 我有两个这样的域
【问题讨论】:
标签: grails controller relational-database
我建议您查看GORM documentation。你有一些方法来声明你的类之间的关系,并且根据它们,删除将是级联的。
"6.3.3 Understanding Cascading Updates and Deletes" 中解释了此行为。
无论是一对一、一对多还是多对多,定义 belongsTo 将导致更新从拥有的类级联到 它的依赖(关系的另一方),并且对于 多/一对一和一对多关系删除也将 级联。
因此您应该考虑声明hasMany 和belongsTo,以启用级联删除。
【讨论】:
class User {
// Group details should not be referenced here
}
class Group {
String Name
String Description
GroupDetails gd
}
class GroupDetails {
User user
static belongsTo = [group:Group]
}
在这种情况下,如果 Group 将有一个子 GroupDetails,那么当您删除 Group 时,子实体也将被删除。
查看 grails 文档中的第一个示例:http://grails.org/doc/2.2.x/ref/Domain%20Classes/belongsTo.html
与 Sérgio Michels 一样,还有更多方法可以让它发挥作用。
示例:https://github.com/aprudnikovas/testGrailsOneToOneCascade
【讨论】: