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.