Customizing

Historisierung von Datentabellen

Information

  • Die Historisierung ist für alle Tabellen möglich.

Details

  • Um die Historisierung einzuschalten, müssen:

Details

  • Envers generiert für jede versionierte Tabelle eine Tabelle mit dem Suffix _HIS.

    • Die History-Tabelle der Datentabelle DT412 heißt beispielsweise DT412_HIS.

  • Eine History-Tabelle beinhaltet alle Spalten der Originaltabelle sowie die folgenden Spalten

    • REV = Revision

    • REVTYPE = gibt an, ob etwas hinzugefügt (0), aktualisiert (1) oder gelöscht (2) wurde

  • Jedes Mal, wenn in der versionierten Tabelle etwas hinzugefügt, aktualisiert oder gelöscht wurde, wird in der History-Tabelle eine neue Zeile mit dem jeweiligen Status der Felder eingefügt.

  • Das ursprüngliche Objekt kann anhand des Primärschlüssels identifiziert werden.

  • Das Änderungsdatum wird in die Envers-Standardtabelle REVINFO (Spalte REVTSTMP) geschrieben.

  • Über das Feld REV linkt die Tabelle REVINFO auch auf alle REV-Felder in den Historientabellen.

  • Jede versionierte Tabelle wird durch das gleiche UUID-Feld identifiziert, unabhängig vom eigentlichen Hauptfeld des Datenbank-Layers.

    • D.h., jede _HIS-Tabelle enthält ein UUID-Feld, mit dem eine spezifische Zeile in einer versionierten Tabelle identifiziert werden kann.

    • Die UUID-Felder müssen in jeder versionierten Tabelle auf der Datenbank existieren, damit die Historisierung durch Envers funktioniert.

Hinweis

  • Werden in den Tabellen, die historisiert werden, neue Spalten eingefügt, die ebenfalls historisiert werden sollen, müssen die gleichen Spalten in der Historisierungstabellen eingefügt werden.