我可以有以下关系:

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

最佳答案

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

在这种情况下,您具有两个多对一的关系:Table1 Table2和Table1 Table3。因此,两个表(2和3)中的column1是Table1的外键。因此,您有2个不同的外键。

关于java - @ManyToOne,一列可以引用其他两列吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14777152/

10-13 05:26