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

时间:2014-10-27 14:53:07

标签: jpa foreign-keys

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

现在我有两个JPA实体,ABA包含对B

的引用
public class A {

    ...

    @JoinColumn(name="table_a_id")
    private B b;
}

这会抛出异常,说明table_a_id中找不到列table_a。我知道JPA正在table_a_id中寻找外键table_a但是如何在不将外键移动到table_a的情况下解决此问题?

1 个答案:

答案 0 :(得分:1)

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

修改

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