2012-09-15 109 views
0

我使用JPA /休眠,MySQL和Spring Roo的,我的造型,将有两种不同类型的会员的应用程序的过程:数据库建模问题休眠

  • 男会员
  • 女成员

截至目前,我有男性和女性成员的一个表/实体。

但是,我现在意识到,根据会员是男性还是女性,某些字段/属性会有所不同。

举例来说,我可以有一个“胡子风格”属性对于将包含以下可能值的男人:“修剪”。

我想到了几个选项在我的域模型来表示这样的:

  1. 转到了某种JPA继承。但是,我不确定选择哪种策略以及Hibernate支持哪种策略。
  2. 在我的会员表/实体中有两个字段maleSpecificInfo和femaleSpecificInfo。如果该成员是女性,则maleSpecificInfo将为空,反之亦然。

任何人都可以请提供意见,我可以选择哪些,如果有的话,是可以接受的。或者提供一个更好的选择?

回答

1

我不喜欢第二种方法。一个男性对象可能包含与FemaleSpecificInfo的关系,这对我来说很不好。我不认为“构成继承”的实施是正确的。

我想尝试Hibernate继承。你应该检查strategies。如果男性和女性分享大部分数据,我会使用表每个类层次