Grails hasOne 与 belongsTo

Grails hasOne vs. belongsTo

要在 Grails 中创建一对一关系,我可以这样做:

class Person {
    static hasOne = [address: Address]
}

在这种情况下,地址 table 拥有指向其本人的钥匙。我也可以这样做:

class Address {
    static belongsTo = [person: Person]
} 

这给出了相同的结果。

我使用 hasOnebelongsTo 的两个样本有什么区别?

hasOne 表示存在 bi-directional one-to-one 关系,其中 child table 具有 parent 的外键,就像你的例子一样。

belongsTo用于控制级联,表示class属于指定的class。在您的示例中,删除给定的 Person 会将删除级联到任何关联的 Addresses.