@ManyToOne,一列可以引用其他两列吗?

时间:2013-02-08 16:33:49

标签: java hibernate

我可以建立如下关系:

@Entity Table1{

    @ManyToOne
    @JoinColumn(name = "Column1", 
                referencedColumnName = "t2id", 
                insertable = false, 
                updatable = false)
    private Table2 table2_col;

    @ManyToOne
    @JoinColumn(name = "Column1", 
                referencedColumnName = "t3id", 
                insertable = false, 
                updatable = false)
    private Table3 table3_col;
}

1 个答案:

答案 0 :(得分:1)

是的,映射看起来有效。 两种情况下的列Column1都属于不同的表(Table2.column1Table3.column1)。所以我在这里看不到任何碰撞。事实并非如此,因为tittle说“一列引用另外两列”。

在这种情况下,您有两个多对一关系: Table1< ---> Table2 Table1< ---> Table3 即可。因此,表(2和3)中的 column1 Table1 的外键。所以你有2个不同的外键。