Ich habe eine Codebasis geerbt, auf der fast alle Beziehungen die folgenden Anmerkungen haben:
%Vor% Jetzt habe ich Probleme zu verstehen, was @OnDelete
an erster Stelle tut. Hibernate: OnDelete vs cascade = CascadeType.REMOVE ist interessant, aber leider nicht Ich habe keine Antworten und das JavaDoc für @OnDelete
ist besonders wertlos.
Aus den anderen Fragen sieht es so aus, als ob die Annotation OnDelete die Kaskadierung der DB irgendwie erlaubt, während die Cascading Direktive auf @OneToMany
das ORM tun lässt, aber was würde jemals der Zweck sein, sie zusammen zu verwenden?
Und erlaubt die Cascade-Direktive @OneToMany
wirklich nicht, dass die ORM-Implementierung eine DB-basierte Kaskade generiert?
Nehmen wir an, Sie haben eine Eins-zu-Eins-Beziehung
%Vor%Wenn Sie CascadeType.REMOVE verwenden, löscht das Löschen des Hauses auch die Tür.
%Vor%Wenn Sie @OnDelete verwenden, löscht das Löschen der Tür auch das Haus.
%Vor%Lesen Sie hier mehr: Ссылка