В чем именно разница в следующих двух объявлениях
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 есть эквивалент.