Подробное объяснение потока приложений, которое у меня есть в приложении. Я работаю над приложением Database Viewer. Пользователь может видеть все записи (строки) в моей БД с помощью этого приложения и редактировать их из пользовательского интерфейса. Это приложение работает нормально. Теперь я хочу реализовать оптимистическую блокировку для этого, я создал поле версии в БД. Теперь я ударил с проблемой дизайна,Spring MVC Hibernate save Java Объект между ответом и запросом
До сих пор в моем приложении, когда пользователь просматривает запись и хочет ее отредактировать, в моем методе контроллера я делаю загрузку спящего режима и выводя результат на странице редактирования JSP. Теперь, когда пользователь нажимает «Сохранить» на странице, мне нужно сохранить запись. Поскольку это очень сложный объект, я повторно заполняю этот объект из базы данных и внося изменения и сохраняя или обновляя Hibernate.
Теперь я хочу реализовать управление версиями, поэтому я больше не хочу повторно заполнять объект до того, как сохранить или обновить. Как-то я хочу сохранить свой сложный объект в безопасности и использовать его, когда хочу обновить. Поля скрытой формы JSP невозможны в моем случае. Где я могу сохранить свою сущность до тех пор, пока пользователь не нажмет кнопку «Сохранить» и не будет использовать ее для сохранения в db ?. Каковы возможные и лучшие подходы.
Update:
Я рассмотрел различные посты в Интернете и планирования для реализации рамок Ehcache.
Сессия будет очевидным местом. http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpSession.html –
@AlanHay Но как-то, теперь, когда я это делаю (session.getAttribute ("obj")). equals (DAO. get (...)) не совпадают. Я становлюсь ложным. Я проверил метод eqauls для всех переменных-членов объекта. Они должны быть равными? – EagleRider