以下两个声明到底有什么区别
B是拥有方
@Entity
class A {
@Id int id;
@OneToOne
B b;
}
@Entity
class B {
@Id int id;
@OneToOne(mappedBy="b")
A a;
}
A是拥有方
@Entity
class A {
@Id int id;
@OneToOne(mappedBy="a")
B b;
}
@Entity
class B {
@Id int id;
@OneToOne
A a;
}
在“普通 SQL”中考虑这一点,我认为这与拥有两个表相同,每个表都有另一个表的外键。我不明白的是,指定哪个实体是拥有方的效果是什么,即使用“mappedBy”属性。这实际上实现了什么,因为我不相信普通 SQL 中存在等价物。