Hibernate Flag statt Löschen

Landei

Top Contributor
Gibt es einen eleganten Weg, bei Abfragen nur Entities zu berücksichtigen, bei denen ein Flag auf ACTIVE oder so gesetzt ist (das dürfte einfach sein), und beim Löschen eben nicht gelöscht wird, sondern das Flag des Entities auf INACTIVE gesetzt wird? Ich denke, diese Vorgehensweise dürfte eigentlich nicht sooo unüblich sein, ich konnte aber bisher keine "automatische" Lösung dafür finden.
 
M

maki

Gast
Im Prinzip ja, aber einfach ist das imho nicht..

Kenne das von bestimmten Db Anwendungen, bei denen eben keine Infos verlorengehen dürfen, selbst wenn der user die Entity löscht.

Es gibt JBoss/Hibernate Envers für Anwendungen, bei denen jede Änderung aufgezeichnet wird, selbst ein delete.
Die entity wird trotzdem noch gelöscht, aber die Revisionhistory der Entity (in einer eigenen Tabelle umgesetzt), merkt sich eben was alles mit dieser Entity passiert ist.

Hibernate Envers - Easy Entity Auditing

Habe selber noch nicht mit Envers gearbeitet, aber mal eine "oberflächliche" Untersuchung gemacht.
 

Landei

Top Contributor
Envers sieht interessant aus, danke!

Mit Interceptors bekommt man es sicher hin, aber das wäre für mich eher Plan B...
 
S

Sym

Gast
Mit Envers holst Du Dir allerdings viel ins Haus und musst das erst einmal handhaben können. :) Der Vorteil ist natürlich, dass Du das gelöscht-Flag nicht explizit auswerten musst und natürlich sind DB-Abfragen schneller ohne diese Abfrage.

Ich persönlich bevorzuge den Weg über Interceptoren.
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben