Frage

Gibt es eine Möglichkeit, ein einzelnes Kriterium auf einer Sitzung Fabrik (Konfiguration) Ebene weicht gelten hinzuzufügen alle entites mit einer Session retreived? Wir haben eine Anforderung keine Zeilen aus unserer Datenbank zu löschen, sondern „Zeichen“ gelöscht Einheiten als solche, so dass sie nicht in irgendwelchen weiteren Operationen teilnehmen werden.

Ich weiß, dass wir nur alle entites über eine gemeinsame Schnittstelle retrive kann (zB eine gemeinsame Basis Dao Objekt), aber der Ansatz mit globalen Filtern wäre weniger fehleranfällig, da es nicht das Wissen erfordert diese gemeinsame Schnittstelle verwenden .

War es hilfreich?

Lösung

der Hibernate Dokumentation auf dieser ein wenig mehr erarbeitet . Es sieht aus wie der beste Weg zu handhaben dies mit Filter ist.

Zunächst definieren Sie einen fitler auf einer Klasse oder eine Sammlung wie folgt:

<filter-def name="IsDeletedFilter">
  <filter-param name="IsDeleted" type="bool"/>
</filter-def>

Dann legen Sie es auf eine Klasse oder Sammlung:

<class/set  ...>
...
<filter name="IsDeletedFilter" condition=":IsDeleted = Is_Deleted"/>

Ach, Sie müssen dies tun, mit jeder Klasse, die Sie wollen Soft gelöscht. Aber Sie können in der Lage sein, eine Basisklasse SoftDeleteEntity zu kartieren und eine Tabelle pro Unterklasse Hierarchie.

Ich habe auch einige Leute behaupten, gesehen in der Lage sein dies mit den Hörern zu tun, obwohl ich weiß nicht, wie.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top