0
我運行多線程Java應用程序將那些從Oracle數據庫中查詢,如果條件符合,它會更新一行。但多線程獲得同一行的狀態的可能性很高,然後多線程嘗試更新同一行。休眠更新查詢混亂
比方說,如果狀態爲「已接受」任何行,然後更新其爲「處理」狀態,然後開始處理,但處理只能由一個線程誰更新此記錄來完成。
一種方法是我查詢數據庫,如果狀態爲「已接受」,然後更新記錄,我需要寫同步的Java方法,但是這將阻止多線程。所以我想爲這種情況使用sql方法。
休眠更新方法返回類型爲void。所以我無法找到現在行更新還是已經更新。是否有任何選擇更新或任何鎖定的東西在休眠,可以幫助我在這種情況下。