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

Java @一列可以引用其他两列吗?,java,hibernate,Java,Hibernate,我是否可以建立以下关系: @Entity Table1{ @ManyToOne @JoinColumn(name = "Column1", referencedColumnName = "t2id", insertable = false, updatable = false) private Table2 table2_col; @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.Column1
Table3.Column1
)。所以我没有看到任何碰撞。事实并非如此,正如标题所说,“一列引用另两列”


在这种情况下,您有两个多对一关系:Table1Table2Table1Table3。因此,两个表(2和3)中的列1表1的外键。因此您有两个不同的外键。

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


在这种情况下,您有两个多对一关系:Table1Table2Table1Table3。因此,两个表(2和3)中的列1表1的外键。因此您有两个不同的外键。

谢谢,但Column1是Table1的列,它引用了Table2中的t2id和Table3中的t2id,因此它仍然与引用其他两列的单个列相同。这是一个有效的方案吗?因为我没有得到想要的输出。啊,你是对的。对不起,我误读了你的密码。你能展示一下表2和表3的映射吗?你到底想实现什么?也许你们的问题可以用不同的映射来解决?就数据库而言,外键不能引用多个列。(见附件)。但是有一些变通方法。顺便说一句,在使用ORM时,使用思维表不是一个好主意。相反,最好考虑对象。谢谢,但Column1是Table1的列,它引用了Table2中的t2id和Table3中的t2id,因此它仍然与引用其他两列的单个列相同。这是一个有效的方案吗?因为我没有得到想要的输出。啊,你是对的。对不起,我误读了你的密码。你能展示一下表2和表3的映射吗?你到底想实现什么?也许你们的问题可以用不同的映射来解决?就数据库而言,外键不能引用多个列。(见附件)。但是有一些变通方法。顺便说一句,在使用ORM时,使用思维表不是一个好主意。相反,最好考虑对象。