Grails hasOne 与 belongsTo
Grails hasOne vs. belongsTo
要在 Grails 中创建一对一关系,我可以这样做:
class Person {
static hasOne = [address: Address]
}
在这种情况下,地址 table 拥有指向其本人的钥匙。我也可以这样做:
class Address {
static belongsTo = [person: Person]
}
这给出了相同的结果。
我使用 hasOne
和 belongsTo
的两个样本有什么区别?
hasOne
表示存在 bi-directional one-to-one 关系,其中 child table 具有 parent 的外键,就像你的例子一样。
belongsTo
用于控制级联,表示class属于指定的class。在您的示例中,删除给定的 Person
会将删除级联到任何关联的 Address
es.
要在 Grails 中创建一对一关系,我可以这样做:
class Person {
static hasOne = [address: Address]
}
在这种情况下,地址 table 拥有指向其本人的钥匙。我也可以这样做:
class Address {
static belongsTo = [person: Person]
}
这给出了相同的结果。
我使用 hasOne
和 belongsTo
的两个样本有什么区别?
hasOne
表示存在 bi-directional one-to-one 关系,其中 child table 具有 parent 的外键,就像你的例子一样。
belongsTo
用于控制级联,表示class属于指定的class。在您的示例中,删除给定的 Person
会将删除级联到任何关联的 Address
es.