Ще отида с този дизайн:
създайте обект и го поддържайте жив по време на цялата сесия на уеб приложението.
И трябва да синхронизирам състоянието му със състоянието на базата данни.
Това, което искам да постигна е, че:
IF между моите db операции, тоест модификации, които запазвам в db
някой умишлено разваля редовете на таблицата, след което при следващото записване в база данни
всички тези промени ЩЕ БЪДАТ ЗАМЕНЕНИ със състоянието на обекта, което винаги съдържа валидни данни.
Какви методи на Hibernate ми препоръчвате да използвам, за да запазя модификациите в база данни?
saveOrUpdate() е възможно решение, но може би има нещо по-добро?
Пак повтарям как изглежда. Първо създавам обект без колекции. Запазете го (save()).
След това потребителят ни предоставя допълнителни данни. В serviceLayer отново модифицираме нашия обект в паметта (да речем, попълваме го с колекции) и след това го запазваме отново.
Така че всяка операция на serviceLayer от следващата стъпка трябва просто да гарантира, че базата данни съдържа точното постоянно копие на този обект, което имаме в паметта. Ако данните в база данни се различават, те ТРЯБВА ДА БЪДАТ ЗАМЕНЕНИ със състоянието на обекта (запазен в паметта).
Какви сесийни операции препоръчвате?