我必須編寫一個簡單的演示,以從聯合銀行金額中提取金額.Andy和Jen持有一個123號聯合銀行賬戶。假設他們的賬戶中有100美元.Jen和Andy正在同時操作他們的賬戶,並且兩者都試圖在當時撤回90美元。我的交易隔離設置爲讀取提交,並且兩者都能夠撤回資金離開餘額爲 - (減)80 $,儘管我有約束,餘額應該永遠不會小於0.隔離問題 - 讀取承諾
我正在使用hibernate。是版本化的唯一方法來解決這個問題,或者我應該去另一個隔離級別?
我必須編寫一個簡單的演示,以從聯合銀行金額中提取金額.Andy和Jen持有一個123號聯合銀行賬戶。假設他們的賬戶中有100美元.Jen和Andy正在同時操作他們的賬戶,並且兩者都試圖在當時撤回90美元。我的交易隔離設置爲讀取提交,並且兩者都能夠撤回資金離開餘額爲 - (減)80 $,儘管我有約束,餘額應該永遠不會小於0.隔離問題 - 讀取承諾
我正在使用hibernate。是版本化的唯一方法來解決這個問題,或者我應該去另一個隔離級別?
我很想說樂觀鎖定的確是要走的路(而這正是我所要做的而不是改變隔離級別,同一條記錄上的併發訪問聽起來像一個特殊的情況)。
併發訪問是一個重要的事情,尤其是在銀行應用程序中考慮especialy。這不是一個特殊的情況。 – HLGEM 2010-06-01 18:44:58
@HLGEM也許我沒有正確表達自己的意思,但是請你告訴我我在哪裏寫的忽略併發訪問?我建議使用** optimistic **鎖定,這是一種處理併發性的方法,適用於同一記錄上的併發訪問不太可能的事件,因此名稱中的**樂觀**(樂觀鎖定可能不適用於高度併發的應用)。這個問題的特定場景聽起來像是一個特殊的事件,樂觀鎖定可以正常工作。如果你明白什麼是樂觀鎖定,你應該重新考慮你的投票 – 2010-06-01 19:31:08
你知道答案嗎?如果沒有......那麼你可能知道家庭作業有多難。無知是幸福 – 2010-06-01 11:47:15