Angenommen, wir haben die Objektklasse 3 Entities:
%Vor%Wie kann ich JPA2.x (oder Hibernate) -Anmerkungen für
verwenden?Ich verwende Hibernate 4.3.5 und mysql 5.1.30.
Danke
Wie in in diesem Artikel erläutert, ist remove
Übergang des Entity-Status sollte von den Eltern zu den Kindern kaskadieren, nicht die anderen herum.
Du brauchst so etwas:
%Vor% Sie sollten CascadeType.REMOVE
verwenden. Dies ist eine allgemeine Anmerkung für Hibernate und JPA. Hibernate hat einen anderen ähnlichen Typ CacadeType
like CascadeType.DELETE
.
Lösche alle Kinder automatisch, wenn Eltern löschen (eins zu viele)
%Vor%Lösche Kind automatisch aus der Kinderliste, wenn es gelöscht wird (viele zu eins)
%Vor%Lösche das Spielzeug automatisch, wenn das Kind (eins zu eins) entfernt wird
%Vor% orphanRemoval löscht alle verwaisten Entity Beispiel: Store (s) hat Bücher (b1, b2, b3) und b1 hat Titel (t) in diesem Fall, wenn gelöschte Geschäfte einige Bücher (b2, b3) gelöscht werden . B2 und t existieren noch. Wenn Sie " cascade= CascadeType.Remove
" verwenden, speichern Sie nur (s) und alle Bücher werden gelöscht (nur "t" existiert).
Wenn orphanRemoval = true angegeben wird, wird die getrennte Entitätsinstanz automatisch entfernt. Dies ist nützlich, um abhängige Objekte zu bereinigen, die ohne eine Referenz von einem Eigentümerobjekt nicht existieren sollten.
Wenn nur cascade=CascadeType.REMOVE
angegeben wird, wird keine automatische Aktion ausgeführt, da das Trennen einer Beziehung keine Operation zum Entfernen ist.
Tags und Links java jpa hibernate orm hibernate-mapping