Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Hibernate Soft Delete mit Update Cascade

Der beste Weg, um ein vorläufiges Löschen mit Hibernate zu erreichen, ist die Verwendung der @SQLDelete-Annotation für Ihre Klassen.

Stellen Sie sicher, dass Ihr Mapping auf Cascade Delete eingestellt ist

Der Aufruf von session.delete(yourClass) sollte Ihr vorläufiges Löschen bewirken

Hibernate-Dokument

//used to overide the normal delete behavior
@SQLDelete(sql="UPDATE (table_name) SET deleted = '1' WHERE id = ?")
//optional Use this to exclude deleted element from get 
@Where(clause="deleted <> '1'")
//OR (Filter may also be used if you need to load deleted items occasionally)
@FilterDef(name="ProductFilter",defaultCondition="deleted <> 1 ")