1. 程式人生 > >hibernate樂觀鎖catch到異常後該如何處理

hibernate樂觀鎖catch到異常後該如何處理

我通過hibernate的樂觀鎖來處理併發的問題,如果有併發問題出現的話,會丟擲org.hibernate.StaleObjectStateException這個異常,於是我在service層捕獲到了這個異常(這個異常在dao層是捕獲不到的),那麼問題來了,捕獲到這個異常以後該怎麼處理呢?

在應用程式中應該捕獲該異常,這種異常有兩種處理方式
方式一:自動撤銷事務,通知使用者賬戶資訊已被其他事務修改,需要重新開始事務。(比如:直接給前端一個提示說資料異常,請重新整理後重試)。
方式二:通知使用者賬戶資訊已被其他事務修改,顯示最新存款餘額資訊,由使用者決定如何繼續事務,使用者也可以決定立刻撤銷事務。