Hibernate二级非定向映射

时间:2015-07-29 20:25:20

标签: java hibernate

我不知道我是否解释过自己有问题,但基本上我想知道是否有一些功能来映射与目标没有直接关系的对象。例如:

|Table1   |   |Table2   |   |Table3   |
-----------   -----------   ----------
|id       |   |id       |   |id       |
|someValue|   |Table1_fk|   |Table2_fk|

我可以像这样访问类关系中的Table2对象:

public class Table1 {
@Id
int id;
@Column
String someValue;
@OneToOne(mappedBy="Table2")
Table2 table2;
}

所以我的问题是 - 我可以从Table1映射到Table3吗?

1 个答案:

答案 0 :(得分:0)

鉴于您的上述代码,它并不像您需要" map",甚至与Table3建立关系。

您是否需要表3中的属性才能作为Table1的API合同的一部分?如果是这样,您可以执行以下操作:

public class Table1 {
    @Id
    int id;

    @Column
    String someValue;

    @OneToOne(mappedBy="Table2")
    Table2 table2;

    public Table3 getTable3() {
        return table2.getTable3();
    }
}

这假设关系在表3中建立,并且' mappedBy'在Table2中,这是合理的映射,因为Table3实际上包含外键。