1

我可以有如下关系:

@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;
}
4

1 回答 1

1

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

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

于 2013-02-08T21:18:12.363 回答