假设您有类似以下的类:
public class Container {
Element topElement;
Element rightElement;
Element leftElement;
.....
可能的数据库映射是使用表容器和另一个表元素完成的,这些表由一个外键(如Container_ID)链接。表Elements将具有使用Container_ID创建的复合主键,DB中Container对象的唯一标识符,以及指示元素位置(顶部,左侧,右侧等)的标志。 我使用EclipseLink作为ORM持久性提供程序,但我不是专家,因此我通常从数据库设计开始,让Netbeans使用向导从数据库构建我的实体。 这样在Container实体中我会得到一个Element的集合,而我想要有相同类型(Element)的不同字段(topElement,rightElement等)。有没有办法实现这个目标?
由于 菲利普
答案 0 :(得分:0)
您有几个选择,
只需拥有Collection变量,但在类中提供返回相应Element的get / set方法。 (可能是最好的解决方案)。
提供get / set方法来设置Collection并在内部设置字段。
使用4个单独的OneToOne关系而不是OneToMany。您可以自定义映射以查询类型,或更改数据模型以匹配您的对象模型。