0

假设你有一个类似下面的类:

public class Container {
Element topElement;
Element rightElement;
Element leftElement;
.....

一个可能的 DB 映射是通过一个表 Containers 和另一个表 Elements 完成的,它们通过像 Container_ID 这样的外键链接。表 Elements 将具有由 Container_ID 组成的复合主键、数据库中 Container 对象的唯一标识符以及指示元素位置(顶部、左侧、右侧等)的标志。我使用 EclipseLink 作为 ORM 持久性提供程序,但我不是专家,所以我通常从数据库设计开始,让 Netbeans 使用向导从数据库构建我的实体。这样,在 Container 实体中,我将获得一个元素集合,而我希望拥有相同类型(元素)的不同字段(topElement、rightElement 等)。有没有办法实现这个目标?

谢谢菲利波

4

1 回答 1

0

你有几个选择,

只需拥有 Collection 变量,但在您的类中提供返回适当元素的 get/set 方法。(可能是最好的解决方案)。

提供一个 get/set 方法来设置 Collection 并在内部设置字段。

使用 4 个单独的 OneToOne 关系而不是 OneToMany。您可以自定义映射以查询类型,或更改数据模型以匹配您的对象模型。

于 2012-09-04T14:12:27.587 回答