0

举个例子:

该应用程序包含不同类型联系人的域类,例如

经理、ShopSteward、Pilot、BaseballCoach 等。

它们都是单独的类,因此在数据库中都有自己的单独表。

一个常见的要求是记录多个电子邮件地址。为了避免重复代码,我将在 src/groovy 中创建一个名为 EmailAddress 的 @Validatable 类,其中当然包含 emailAddress 以及该地址的可选标签。

现在,为了允许所有这些不同的域类记录多个电子邮件地址,最好创建新的域类来扩展 EmailAddress 并链接回关系的所有者端?

例如

class ManagerEmailAddress extends EmailAddress {
  static belongsTo = [Manager]
}

& 添加

 hasMany = [emails:ManagerEmailAddress]

到经理班?或者最好有一个包含大量鉴别器的单个 EmailAddresses 表来识别拥有实体?

提前感谢您的评论/回复。

4

1 回答 1

1

在不同的表/类上复制相同的结构很少是一个好主意(每个具体类的表会减少这里的代码重复)。与鉴别器的备用数据库关系是父表应该合并的信号。

Person因此,提取一个常见的超类(如orContact并将 连接Emails到该类)可能是有意义的。

于 2012-08-17T00:49:43.593 回答