Я изучаю спящий режим, и меня смущает однонаправленное отображение один-к-одному.
Например: одна жена на одного мужа и наоборот.
Жена.java:
@Entity
public class Wife {
private int id;
private String name;
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
Муж. Java:
@Entity
public class Husband {
private int id;
private String name;
private Wife wife;
@Id
@GeneratedValue
public int getId() {
return id;
}
@OneToOne
@JoinColumn(name="wifeId")
public Wife getWife() {
return wife;
}
}
Это однонаправленное сопоставление (внешний ключ) один-к-одному.
Теперь мой вопрос:
это работает? Как можно убедиться, что у одного мужа может быть только одна жена, при таком подходе может быть, что у одного мужа одна и та же жена.
Нет никаких ограничений между мужем и женой.
Так мне интересно, в чем проблема?