0
我有一種情況,一個線程可以從數據庫中檢索一個對象,並對其進行編輯,並在刷新它時得到一個StaleObjectStateException,因爲在此期間另一個線程編輯了相同的對象(使用樂觀的Im鎖定)。我可以看到它爲什麼會發生,但我無法改變這種行爲。從StaleObjectStateException中恢復
所以我嘗試做的是從數據庫中再次檢索該對象並重新應用上的最新版本的變化,但我只要我做檢索之前,我甚至改變任何東西得到另一個 StaleObjectStateException,這是爲什麼這個 ?
try{
songs = nextSongGroup.getSongs(session);
modifySongs(songs);
session.flush();
}
catch(StaleObjectStateException sobe){
songs = nextSongGroup.getSongs(session);
modifySongs(songs);
}
Thankyou使用session.clear()適用於我 –
很高興知道:)感謝您分享您的結果! – MahdeTo