我使用JPA / Hibernate,MySQL和Spring Roo,我正在为具有两种不同类型成员的应用程序建模过程:
截至目前,我有一个男性和女性成员的表/实体。
但是,我现在意识到,根据成员是男性还是女性,某些字段/属性会有所不同。
例如,我可以有一个" 胡须样式"男性的属性将包含以下可能的值:" trimmed , long , shaven "。
我想到了几个在我的域模型中表示这个的选项:
任何人都可以就哪些选项(如果有的话)可以接受提供建议。或者提供更好的选择?
答案 0 :(得分:1)
我不喜欢第二种方法。男性对象可能包含与FemaleSpecificInfo的关系,这对我来说很难闻。我不认为“构成优于继承”的实施是正确的。
我会尝试Hibernate继承。你应该检查strategies。如果男性和女性共享大部分数据,我会使用每个类层次结构的表。