Grails:删除关系域

时间:2013-05-14 10:22:02

标签: grails controller relational-database

我想问一下我的项目。 我有两个像这样的域

2 个答案:

答案 0 :(得分:1)

我建议你查看GORM documentation。您可以通过某些方式声明类之间的关系,并且根据它们的不同,删除将是级联的。

"6.3.3 Understanding Cascading Updates and Deletes" 中解释了此行为。

  

是一对一,一对多还是多对多,定义   belongsTo将导致从拥有类级联到更新   它的依赖(关系的另一面),以及   许多/一对一和一对多关系也将被删除   级联。

因此,您应该考虑声明hasManybelongsTo,以启用级联删除。

答案 1 :(得分:1)

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 docs中的第一个示例:http://grails.org/doc/2.2.x/ref/Domain%20Classes/belongsTo.html

同样,SérgioMichels还有更多方法可以让它发挥作用。

示例:https://github.com/aprudnikovas/testGrailsOneToOneCascade