Grails域使字段可重复

Grails域使字段可重复,grails,grails-domain-class,Grails,Grails Domain Class,我是Grails开发的初学者。我想制作一个新的简单的MySQL CRUD应用程序,其中包含可重复的字段。现在我不确定我的域名应该是什么样子。假设我的域中有3个字段: String term String synonym String author 我想使author和/或synonym可重复:正确的方法是继续创建两个新的域类synonym和author并将其放在我的原始域中: static hasMany = [synonym: Synonym] static hasMany = [auth

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

String term
String synonym
String author 
我想使author和/或synonym可重复:正确的方法是继续创建两个新的域类synonym和author并将其放在我的原始域中:

static hasMany = [synonym: Synonym]
static hasMany = [author: Author]
在我看来,Grails会有一个更聪明的方法来实现这一点,但也许我只是期望太高了

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

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

尽管我想建议将
命名为具有复数形式的许多
声明,因为它们包含多个
同义词
/
作者

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

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

您所做的看起来是正确的。不过,我不知道你所说的“可重复”是什么意思。同义词和作者一起吗?使用可重复,我的意思是我需要能够创建记录,例如:term=驴子,同义词=horse,同义词=ass,author=author1,author=author2,author=author3好的,谢谢你给出了清晰的答案,并为我指出了一对多的关系。找到了做我想做的事的教程