@OneToMany通过mappedBy而没有@JoinColumns

时间:2016-08-29 17:33:14

标签: java hibernate jpa

我在我的工作中创建了一些遗留代码,其中显示了以下一些内容:

为了简化,想象一个One类和一个Many类。 在一个课程中我得到了:

 @OneToMany(mappedBy = "toOne")
 private List<Many> manies;

但在许多类中,字段toOne定义为:

@JoinColumn(name = "unrelated", referencedColumnName = "id") 
UnrelatedEntity toOne;

唯一合理的解释是,toOne字段既有与无关的关系,也有与多数有关的FK。但是,使用mappedBy可以使用@OneToMany而无需使用本地或远程@JoinColumn吗?我没有看到任何使用这种简化的例子。它是否自动使用One。@ Id进行连接?

1 个答案:

答案 0 :(得分:2)

mappedBy”仅将关系的两面联系起来。如果省略JoinColumn,则它将使用连接表来管理关系。如果您使用JoinColumn,则它会通过“多方”中的FK管理关系。非常简单。它将使用FK中“1面”中有多少@Id个字段。

相关问题