У меня проблема с тем, что я хочу прочитать объект из базы данных, используя Hibernate, изменить значение и сохранить объект. Если изменение значения занимает некоторое время, как лучше всего убедиться, что базовый объект в базе данных не изменился? Я делаю это в одной транзакции (и одной сессии).
Код выглядит примерно так:
// Load from DB
Criteria crit = session.createCriteria( Dummy.class ).add( Restrictions.eq("id", 5) );
Dummy val = crit.uniqueResult();
// Processing time elapses.
// Update value of dummy.
val.x++;
// Save back to database. But what if someone modified the row with ID = 5 in the meantime, and changed the value of x?
session.saveOrUpdate( val );