我试图理解 GORM Gotchas Part 2 中这句话的含义。 :
The advantage of this syntax is that you can define multiple cascading relationships.
这是否意味着除 Author 和 Author 之外的 Location 和域类之间的多个级联关系,还是意味着 Location 和 Author 以及 Author 和其他域类之间的传递(链接)级联关系?谁能提供这些多重级联关系的语法示例?我认为这会更清楚。谢谢你。
最佳答案
我将提供一个来自我们当前应用程序的示例:我们有 User
s 和 Home
s。一个家有许多居民(例如 User
),他们可以住在多个 Home
s。
用户现在可以注册 WebHook
对于家里发生的任何事件。
如果用户被删除(他的帐户被删除),我们要删除该用户注册的所有网络 Hook 。
如果一个家庭被删除,用户仍然存在,但这个家庭的所有网络 Hook 都应该被删除(因为删除的家庭不会再发生任何事件)。
所以类WebHook
看起来像这样:
class WebHook {
String url
static belongsTo = [home: Home, registrator: User]
}
belongsTo
在这种情况下,关系是一个映射,它添加了 home
和 registrator
作为 WebHook
上的属性类(class)。如果您不需要引用但只想具有级联行为,您也可以使用列表并定义 belongsTo
像这样的关系:static belongsTo = [Home, User]
这两种方式都可以保证当家庭或与之关联的用户被删除时,网络 Hook 也会被删除。
关于grails - GORM 陷阱第 2 部分 作者:Peter Ledbrook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30825048/