У меня возникла ситуация, когда поток может извлекать объект из db и редактировать его, а когда он скрыт, я получаю StaleObjectStateException, потому что в то же время другой поток редактировал один и тот же объект (Im using optimistic замок). Я вижу, почему это происходит, но я не могу изменить это поведение.Восстановление из StaleObjectStateException
Так что я пытаюсь сделать, это получить объект снова из БД и повторно изменения на самой последней версии, но я получаю другой StaleObjectStateException как только я делаю выборку, прежде чем я даже изменил что-нибудь, почему это ?
try{
songs = nextSongGroup.getSongs(session);
modifySongs(songs);
session.flush();
}
catch(StaleObjectStateException sobe){
songs = nextSongGroup.getSongs(session);
modifySongs(songs);
}
Thankyou using session.clear() работает для меня –
Замечательно :) Спасибо, что поделились своими результатами! – MahdeTo