OneToOne关系不一定是双向的。当在源对象和目标对象中都存在对该关系的另一个对象的引用时,就会发生双向OneToOne关系。
在双向OneToOne关系中,在关系的拥有方使用单个外键。另一方面,目标实体必须使用 mappedBy 属性。
- 例:
让我们考虑 播放器 和 网站 对象之间的OneToOne关系。
每个玩家实体仅对应一个网站实体:
@Entitypublic class Player { @Id @Column(name="PLAYER_ID") private long id; ... @oneToOne @JoinColumn(name="WEBSITE_ID") private Website website; ...}如果我们向网站实体添加mappedBy选项,则OneToOne单向关联将转换为双向关联:
@Entitypublic class Website { @Id @Column(name = "WEBSITE_ID") private long id; ... @oneToOne(mappedBy="website") private Player websiteOwner; ...}您可以参考这个链接,这一个以获取更多信息。



