Es folgt Tabellenstruktur:Wie man Audit Log Trail in Hibernate erstellt?
id | createdby | createddate | tablename | columnname | primaryid | oldavalue | newvalue | remarks
wir getrennte Datei erhalten, in dem wir einige Werte haben in 4 Tabellen zu aktualisieren. Vier Tabellen haben jeweils 10 Spalten. Wir wissen nicht, was wir aktualisieren sollen. Wir aktualisieren also die ganze Zeile gegen eine Primary ID.
Hier Herausforderungen sind:
Wie Tabellennamen, Spaltennamen in dem Ruhezustand zu bekommen?
Wie man Alten Wert holt; während eines Updates? Wie weiß man, welches Feld wir aktualisieren, hat einen alten Wert und wir fügen jetzt einen neuen Wert ein? (Wir haben die Felder noch nicht verglichen)
wahrscheinlich können Sie eine Protokolltabelle erstellen (Kopie der vorhandenen Tabellen) und alten Datensatz in dieser Tabelle beibehalten und dann die Datensätze mit neu hinzugefügten Daten in Ihren Haupttabellen vergleichen. Sie können Feder AOP verwenden, um den Prozess zu automatisieren. Können Sie klarer sein, wenn Sie die Werte vergleichen müssen? und benötigen Sie SQL-Abfrage zu vergleichen oder Frühjahr Lösung. \ –
Überprüfen Sie [Ruhezustand Envers - Easy Entity Auditing] (http://docs.jboss.org/envers/docs/) –