@ManyToOne,一列可以引用另外两列



我可以有如下关系吗:

@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)。所以我没有看到任何碰撞。事实并非如此,因为标题中说"一列引用了另外两列"。

在这种情况下,您有两个多对一关系:表1<--->表2表1<--->表3。因此,两个表(2和3)中的列1都是表1

最新更新