Ich gebe eine detaillierte Erklärung des Anwendungsflusses, den ich in meiner Anwendung habe. Ich arbeite an einer Datenbank-Viewer-Anwendung. Der Benutzer kann alle Datensätze (Zeilen) in meiner Datenbank mit dieser Anwendung anzeigen und über die Benutzeroberfläche bearbeiten. Diese Anwendung funktioniert gut. Jetzt möchte ich die Optimistische Sperre implementieren, für die ich ein Versionsfeld in der DB erstellt habe. Nun schlug ich mit einem Design-Problem,Spring MVC Ruhezustand Java-Objekt zwischen Antwort und Anfrage speichern
Bis jetzt in meiner Anwendung, wenn ein Benutzer den Datensatz anzeigen und will es bearbeiten, in meiner Controller-Methode mir eine Ruhelast tue und das Ergebnis in bearbeiten JSP-Seite angezeigt werden. Jetzt, wenn ein Benutzer auf der Seite auf "Speichern" klickt, muss ich den Datensatz speichern. Da es sich um eine sehr komplexe Entität handelt, befülle ich diese Entität erneut aus DB und führe die Änderungen durch und führe das Speichern oder Aktualisieren von Hibernate aus.
Nun möchte ich die Versionierung implementieren, sodass ich die Entität nicht mehr füllen möchte, bevor ich sie speichere oder aktualisiere. Irgendwie möchte ich meine komplexe Entität sicher halten und diese nutzen, wenn ich updaten möchte. JSP versteckte Formularfelder sind in meinem Fall nicht möglich. Wo kann ich meine Entität sicher aufbewahren, bis der Benutzer auf die Schaltfläche "Speichern" klickt und sie verwendet, um in db zu bleiben? Was sind die möglichen und besten Ansätze?
Update:
ich verschiedene Beiträge in Internet und Planung überprüft haben ehcache Rahmen umzusetzen.
Die Sitzung wäre ein naheliegender Ort. http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpSession.html –
@AlanHay Aber irgendwie, wenn ich jetzt (session.getAttribute ("obj")). gleich (DAO. get (...)) stimmen nicht überein. Ich werde falsch. Ich habe eqauls Methode auf allen Mitgliedsvariablen des Gegenstandes überprüft. Sie sollten gleich sein, oder? – EagleRider