Hibernate OneToOne映射反向?

时间:2014-08-14 06:16:15

标签: java spring hibernate mapping

我有两个表一个是ObjectP和另一个AccessObject

ObjectP                   AccessObject

ObjectId                 accessObjectId
Name                     groupId
Description              objectId

我在AccessObject中应用了一对一映射(工作正常),如下所示:

@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "objectId" , insertable = false, updatable = false, nullable = false, unique = true)
private ObjectP objectP;  

当我访问ObjectP时,我也希望导航相关的AccessObject。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

在AccessObject中,您将拥有拥有关联的一方:

@OneToOne
@JoinColumn(name = "objectId" , nullable = false, unique = true)
private ObjectP objectP;

然后在ObjectP中你有反面:

@OneToOne(mappedBy="objectP")
private AccessObject accessObject  
  • fetch = FetchType.EAGER是默认的* -To-One提取策略,因此它是多余的

  • 拥有方必须没有insertable / updatable = false,因为您希望此方拥有关联

  • mappedBy 是您在双向关联中标记反面的方式