我想将表A与具有OneToOne关系的表B链接,表B在表A的一列上保存外键。问题是表B实际上保持一对多的关系,因为存储旧数据。表B中只有一个A实例,其中B.dt_update为null。简而言之,我有一对多,但通过限制限制为1到0或1。
我应该如何使用JPA注释设计它?
大致我有(当然不工作,因为它不是一对一的情况)
@Entity
class A{
....
@OneToOne(mappedBy="a", fetch=FetchType.EAGER)
B b;
...
}
-
@Entity
class B{
...
@OneToOne
@JoinColumn(name="id")
private A a;
...
}
答案 0 :(得分:0)
根据Hibernate documentation,onetoOne有点棘手,最好使用unique = true来使用Many to One。
@Entity
class A{
....
@OneToOne(mappedBy="a", fetch=FetchType.EAGER)
@JoinColumn(name ="id")
B b;
...
}
@Entity
class B{
...
@ManyToOne
@JoinColumn(name ="id",unique="true")
private A a;
...
}