属于其成员实体后面的表的外键的JPA JoinColumn



我有表table_atable_b,外键table_a_id引用table_a中的主键id

现在我有两个JPA实体,AB。CCD_ 8包含对CCD_ 9的引用。

public class A {
    ...
    @JoinColumn(name="table_a_id")
    private B b;
}

这引发异常,表示在table_a中找不到列table_a_id。我知道JPA正在table_a中寻找外键table_a_id,但如果不将外键移动到table_a,我如何解决这个问题?

A中可以有@OneToOne(mappedBy = "a"),在B中可以有带@JoinColumn@OneToOne。关系的拥有方是外键所在的一方,在这种情况下为B。mappedBy中的"a"是类B中类型为A的字段的名称。

编辑

在单向关系的情况下,当外键在目标表中时,根据此,如果将insertable = falseupdateable = false放在@JoinColumn中,则会指示JPA提供程序在目标表查找外键。

最新更新