Kaskadierungsoperationen bei Many-to-Many-Beziehungen sinnlos?

Status
Nicht offen für weitere Antworten.

Fenixx

Aktives Mitglied
Hi,

ich lese gerade ein Abschnitt eines Buchs(Java Persistenz mit Hibernate).
Dort heißt es:
Die Kaskadierungsoperationen ALL, DELETE und DELETE_ORPHAN ergeben für many-to-many-Assoziationen keinen Sinn.
Doch ich frag mich gerade: Warum eigentlich?
Kennt jemand den Hintergrund?

Gruß
Fenixx
 

schmiddi

Mitglied
Ich könnte mir vorstellen, dass das daran liegt, dass wenn du in Tabelle 1 etwas löschst der kaskadieren etwas in Tabelle 2 löscht, da aber die ManytoMany Beziehung herrscht, kann es sein dass es dir dadurch wieder was aus Tabelle 1 löscht und dahingehend wieder mehr aus Tabelle 2 usw ...
Beispiel: Du löschst einen Professor der in den Ruhestand geht, dadurch löschst du alle Studenten, die er unterrichtet hat. Doch diese Studenten haben auch noch andere Professoren. Da kaskadierend, würden diese doch auch mitgelöscht werden. (Falls ich da falsch liege, ...es wäre ja allein schon sinnlos die Studenten dazu zu löschen ;) )
Ich glaub nicht, dass man das mit Sinn nutzen könnte.

Angaben ohne Gewähr.

Grüße

schmiddi
 

KSG9|sebastian

Top Contributor
schmiddi hat schon recht.
Kleines Beispiel:

1 Auto hat N Teile
1 Teil kann zu N Autos gehören

=> Auto M:N Teil

Wenn du den Blinker von Auto 1 entfernst darf nur die Referenz aus der Zuordnungstabelle gelöscht werden. Wenn du den Blinker an sich löschen würdest hätte keines der anderen Autos mehr einen Blinker.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben