GORM陷入了Peter Ledbrook的第2部分

时间:2015-06-14 01:00:38

标签: grails

我试图在GORM Gotchas Part 2中理解这句话的含义:

  

此语法的优点是您可以定义多个级联   关系。

这是否意味着除了作者和作者之外的位置和域类之间存在多个级联关系,还是指位置和作者之间的传递(链接)级联关系,然后是作者和其他一些域类?任何人都可以提供这些多级联关系的语法示例吗?我认为这会更清楚。谢谢。

1 个答案:

答案 0 :(得分:0)

我将从我们当前的应用程序中提供一个示例:我们有UserHome s。一个家庭有许多居民(User的实例)可以居住在多个Home

用户现在可以为家中发生的任何事件注册WebHook。 如果用户被删除(他的帐户被删除),我们想要删除该用户注册的所有Web挂钩。 如果一个家被删除,那么用户仍然会被删除,但是应该删除该家庭的所有网络连接(因为删除的家庭不会再发生任何事件)。

所以课程WebHook看起来像这样:

class WebHook {
    String url

    static belongsTo = [home: Home, registrator: User]
}

此案例中的belongsTo关系是一张地图,会在home类中添加registratorWebHook作为属性。如果您不需要引用但只想获得级联行为,您还可以使用列表并定义belongsTo关系,如下所示:

static belongsTo = [Home, User]

当主页或与之关联的用户被删除时,两种方式都可以保证删除Web挂钩。