Я пойду с этим дизайном:
создать объект и поддерживать его в течение всего сеанса работы с веб-приложением.
И мне нужно синхронизировать его состояние с состоянием базы данных.
Чего я хочу добиться, так это:
ЕСЛИ между моими операциями БД, то есть изменениями, которые я сохраняю в БД
кто-то намеренно портит строки таблицы, затем при следующем сохранении в базе данных
все эти изменения будут переписаны с состоянием объекта, которое всегда содержит действительные данные.
Какие методы Hibernate вы рекомендуете использовать для сохранения изменений в базе данных?
saveOrUpdate () - это возможное решение, но может быть, есть что-нибудь лучше?
Опять повторяю, как это выглядит. Сначала я создаю объект без коллекций. Сохраняйте это (save ()).
Затем пользователь предоставляет нам дополнительные данные. В слое serviceLayer мы снова модифицируем наш объект в памяти (скажем, заполняем его коллекциями), а затем сохраняем его снова.
Таким образом, каждая операция serviceLayer следующего шага должна просто гарантировать, что база данных содержит точную постоянную копию этого объекта, которую мы имеем в памяти. Если данные в базе данных отличаются, они ДОЛЖНЫ БЫТЬ ЗАПИСАНЫ с состоянием объекта (хранящегося в памяти).
Какие операции сеанса вы рекомендуете?