Änderungs Historie realisieren?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

habe mir ein Programm geschrieben wo ich über verschiedene Masken und Tabellen die Werte und Datensätze in meiner DB verändern und speichern kann. Jetzt würde ich gerne eine "Änderungshistorie" in das Programm integrieren, die auch nach einem Neustart des Programms vorhanden ist, leider habe ich keine Ahnung wie man dies am besten realisiert :(

Beispiel:
Ich habe eine Adressverwaltung und ändere die Anschrift meines Kontaktes.
In der History sollte nun erfasst werden das ich die Anschrift von Kontakt X am XX Tag um XX Uhr geändert habe.
Eine "Wiederherstellen" Funktion des alten Zustandes wäre ebenfalls schick ;)

Probleme die sich mir hier auftun ist zum einen:
Wie kann ich die einzelnen Änderungen erfassen?
Muss ich beim speichern eines Objektes jedesmal jedes einzelne Element mit dem des "Original" Objektes vergleichen und wenn sich ein datensatzgeändert hat dies in einer Liste/HashMap verwalten?
Wie speichere ich diese Listen sinnvoll ab?

Vllt. hat ja jemand eine Idee oder schonmal etwas ähliches Programmiert ...
 
G

Gast

Gast
Verpass allen Datensätzen noch die Felder laufnr und lastChangeDate. Jedesmal wenn du nun eine Änderung machst
machst du kein update auf den Datensatz, sondern ein insert.
Dabei zählst du laufnr hoch (d.h. die höchste laufnr ist die aktuellste) und setzt das aktuelle Änderungsdatum ein.
(Bei uns wird dabei auch noch der aktuelle Benutzer und die Uhrzeit gespeichert.)
 
G

Gast

Gast
Hmm okay ... wie schaut das denn mit der Last und der Datenmenge über die "Jahre" so aus? ;)
 
E

erster Gast

Gast
Naja, Die Kunden haben dicke Platten :)
Also man muss schon was einbauen das alle paar Monate oder beim Wechsel des Geschäftsjahres oder so
die alten Daten wegräumt, aber vorerst wird das bei uns alles erstmal gespeichert.
Muss wegen weil Finanzamt und Nachweispflicht
und Zertifizierungen und und und...
Das Löschen ist aber auch nicht das Problem der Historie, sondern von ... äh ... was anderem :)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben