【问题标题】:Grails domain making fields repeatableGrails 域使字段可重复
【发布时间】:2012-02-01 13:01:16
【问题描述】:

我是 Grails 开发的初学者。我想制作一个新的简单 MySQL CRUD 应用程序,其中包含可重复的字段。现在我不确定我的域应该是什么样子。假设我的域中有 3 个字段:

String term
String synonym
String author 

我想让作者和/或同义词可重复:是继续制作两个新域类 Synonym 和 Author 并将其放入我的原始域的正确方法:

static hasMany = [synonym: Synonym]
static hasMany = [author: Author]

在我看来,Grails 会有一个更聪明的方法来做到这一点,但也许我只是期望太高了..

【问题讨论】:

  • 你所做的看起来是正确的。不过,不确定您所说的“可重复”是什么意思。
  • 同义词和作者一起去吗?
  • 对于可重复我的意思是我需要能够创建记录,例如:term = donkey, synonym = horse, synonym = ass, author = author1, author = author2, author = author3

标签: grails grails-domain-class


【解决方案1】:

您所说的“可重复”通常称为一对多关系。一个词有许多作者和许多同义词。

到目前为止,您所做的看起来是正确的。

虽然我想建议以复数形式命名hasMany声明,因为它们持有多个Synonyms/Authors

static hasMany = [synonyms: Synonym]
static hasMany = [authors: Author]

作为hasMany 定义的结果,您还必须考虑关系的另一面。一个作者也可能有许多术语(多对多)。对于同义词,您必须评估是否允许对多个术语重复使用相同的同义词,或者它是否仅代表一个术语(一对多与多对多)。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 2012-06-03
  • 2010-09-30
  • 1970-01-01
相关资源
最近更新 更多