Ich habe ein ähnliches Problem. Es gibt ein paar verschiedene Lösungen, aber alle sind Problemumgehungen.
Die kurze Antwort lautet:Hibernate unterstützt KEINE faulen Eins-zu-eins-Beziehungen.
Die lange Antwort (Workaround) lautet:
-
Deklarieren Sie die Beziehung auf der einen Seite (Kind) als Eins-zu-Eins-Beziehung und auf der anderen Seite (Elternteil) als Eins-zu-Vielen-Beziehung. Also ein
parent.getchild()
gibt einen Satz zurück, kann aber Lazy Loading verwenden. -
Sie können versuchen, dass Eltern und Kinder den Primärschlüssel teilen, aber dazu müssten Sie das Schema ändern.
-
Sie können versuchen, eine Ansicht in Ihrer Datenbank zu konfigurieren, die diese Eins-zu-eins-Beziehung widerspiegelt.