JPA - разница в использовании свойства mappedBy для определения объекта-владельца
В чем именно разница в следующих двух декларациях
B является владельцем
@Entity
class A {
@Id int id;
@OneToOne
B b;
}
@Entity
class B {
@Id int id;
@OneToOne(mappedBy="b")
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 есть эквивалент.