У меня есть класс Letter:
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
class Letter {
@OneToOne(fetch = FetchType.LAZY, mappedBy="request", targetEntity=Letter)
Letter response;
@OneToOne(fetch = FetchType.LAZY)
Letter request
}
и два его подкласса:
class LetterIn extends Letter {
}
class LetterOut extends Letter {
}
Идея состоит в том, чтобы сохранять экземпляры LetterIn в полях "response" и "request" из LetterOutэкземпляры и наоборот: экземпляры LetterOut в полях «response» и «request» экземпляров LetterIn.
К сожалению, Hibernate позволяет мне сохранять несколько экземпляров класса LetterOut с полями «request», заполненными одним и тем же экземпляром класса LetterIn..
Таким образом, в базе данных есть несколько объектов LetterOut, ссылающихся на один и тот же объект LetterIn.Затем я пытаюсь загрузить объекты LetterIn и получить сообщение об ошибке:
More than one row with the given identifier was found: %ID%, for class: Letter
Что я должен сделать, чтобы предотвратить такие ситуации?