JPAs Cascade = REMOVE und Hibernates @OnDelete werden zusammen verwendet?

8

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?

    
dexter meyers 19.12.2011, 15:34
quelle

1 Antwort

8

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: Ссылка

    
Roger Keays 12.06.2014 17:24
quelle

Tags und Links