Я сопоставил несколько java-классов, таких как Customer, Assessment, Rating, ..., с базой данных с помощью Hibernate.
Теперь я думаю о режиме истории для всех изменений в постоянных данных. Приложение представляет собой веб-приложение. В случае удаления (или редактирования) данных другой пользователь должен иметь возможность увидеть изменения и отменить их. Поскольку изменения выходят за рамки текущего сеанса, я не знаю, как решить это с помощью шаблона Command, который рекомендуется для отмены функций.
Для редактирования одного значения подход, подобный этому вопрос звучит нормально. Но как насчет удаления целого постоянного объекта? Самый простой способ - создать флаг в таблице, если этот клиент удален или нет. Самый сложный способ - создать таблицу для каждого класса, в которой хранятся удаленные объекты. Есть что-нибудь среднее? И как я могу комфортно интегрировать эти две вещи в систему O / RM (в моем случае Hibernate), не слишком возиться с SQL (чего я хочу избежать из-за переносимости) и при этом иметь достаточную гибкость?
Есть ли лучшая практика?