以下两个声明有何不同?
B是拥有方。
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中有相应的功能。