Grails GORM 组合还是 hasOne?

Posted

技术标签:

【中文标题】Grails GORM 组合还是 hasOne?【英文标题】:Grails GORM composition or hasOne? 【发布时间】:2010-12-24 13:38:04 【问题描述】:

我对使用静态 hasOne 映射和在域类中组合对象之间的区别感到有些困惑。两者有什么区别?即。

class DegreeProgram 

String degreeName
Date programOfStudyApproval
static hasOne = [committee:GraduateCommittee]

class DegreeProgram 

String degreeName
Date programOfStudyApproval
GraduateCommittee committee

GraduateCommittee 是另一个 GORM 领域模型类。

【问题讨论】:

【参考方案1】:

如果您希望将外键引用存储在子表中而不是双向一对一的父表中,则应使用 hasOne 关联。

查看this page 示例:

【讨论】:

我之前浏览过它,但它并没有真正注册。在什么情况下我希望将父母的密钥存储在孩子中而不是相反? @VisionarySoftwareSolutions 我想这有助于确保孩子不属于另一个父母,因为它只能引用一个父母。

以上是关于Grails GORM 组合还是 hasOne?的主要内容,如果未能解决你的问题,请参考以下文章

Grails + GORM:GORM 中默认的 equals() 实现是啥?

Grails 查询不使用 GORM

Grails/GORM“入”标准

GRAILS / GORM:动态多重连接

Grails / GORM,禁用一级缓存

grails hasOne vs 直接成员变量