首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >定制GORM基本藏品

定制GORM基本藏品
EN

Stack Overflow用户
提问于 2012-11-01 14:15:09
回答 2查看 307关注 0票数 5

除了不同域类之间的关联之外,GORM还支持基本集合类型的映射。。例如,下面的类创建一个昵称关联,它是一组字符串实例

代码语言:javascript
运行
复制
class Person {
    static hasMany = [nicknames:String]
}

这将将昵称存储在单独的表person_nicknames中。

代码语言:javascript
运行
复制
---------------------------------------------
| person_id         |     nickname          |
---------------------------------------------
|   1               |      Fred             |
---------------------------------------------

默认情况下,这两列都是空的,并且不存在索引。我想做以下修改

  • 使两列都不为空
  • (person_id, nickname)上设置一个复合唯一索引

显然,我可以运行一个SQL脚本来进行这些更改,但是我是否可以在域模型中表达这些,以便GORM在创建和更新模式时这样做呢?

EN

回答 2

Stack Overflow用户

发布于 2013-02-21 15:32:34

不,目前是不可能的。您可以通过使昵称成为显式域类来伪造它(Andre Steingress在问题注释中给出了一个示例),但否则您必须编写迁移。

票数 0
EN

Stack Overflow用户

发布于 2014-10-22 14:46:18

您可以使用joinTable和基本集合类型。

http://grails.org/doc/2.4.3/ref/Database%20Mapping/joinTable.html

可以通过列映射指定SQL行为:

http://grails.org/doc/2.4.3/ref/Database%20Mapping/column.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13178934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档