Hibernate: @OneToOne Beziehung

  • Themenstarter Themenstarter HibernateFrage
  • Beginndatum Beginndatum
H

HibernateFrage

Gast
Angenommen ich habe zwei Entity Klassen A und B, die mithilfe einer @OneToOne Beziehung verbunden sind. Die Beziehung selbst ist unidirektional. A referenziert B, B referenziert A NICHT und beide können auch einzeln bestehen (also ohne Verbindung). Wenn ich nun so eine Beziehung per Save auf die Tabelle abbilden will, dann muss ich ja zuerst B speichern und dann das dazugehörige A (A referenziert intern in JAVA B). Möchte ich nun lediglich B löschen muss ich die Referenz von A zu B manuell in der DB auf null setzen um keine inkonsistenz bzw Exception zu erhalten. Kann man irgendwie in Hibernate einstellen, dass dies automatisch gemacht wird? Also wenn ich B lösche, dass dann etwaige Referenzen von A auf B ebenfalls gelöscht bzw. genullt werden?
 
Zuletzt bearbeitet von einem Moderator:
Bin mir nicht ganz sicher, aber mit cascade könnte es gehen.

Java:
@OneToOne(cascade = CascadeType.ALL)
 
Cascade löscht aber afaik das andere Objekt oder? D.h. wenn ich A lösche wird B mitgelöscht bzw. umgekehrt. Ich möchte aber lediglich im Falle des Löschvorgangs von A die Referenz zu B automatisch löschen und nicht das ganze Objekt.
 
Ich möchte aber lediglich im Falle des Löschvorgangs von A die Referenz zu B automatisch löschen und nicht das ganze Objekt.

Die Aussage ist verdreht. Ich meine ich möchte wenn ich B lösche die Referenz von A zu B löschen und nicht ebenfalls A.
 

Zurück
Oben