今天測試人員告訴說:并發時,產生了問題,無耐只能看一看了。考慮到要加鎖處理。
網上搜索了一下,hibernate 的處理有悲觀鎖和樂觀鎖。
悲觀鎖是采用數據庫底層處理,運行數據的加鎖機制。
樂觀鎖是可以在表中加上一個字段來處理。version,通過判斷,version是否過期來判斷,要修改的數據是否過期。
因為并發數對系統的要求也不是太高,所以,就采用悲觀鎖試一試。
在語句中加入:query.setLockMode("對象",LockMode.UPGRADE);
但是在我的程序中,一直抱錯,也不知道為什么。原理是好的,可以理解,但是運行起來還真不行。
樂觀鎖覺得還不錯,還沒有用起來,有時間寫一個例子看一看吧。
參考資料:
http://blog.csdn.net/xfans12000/archive/2007/03/02/1519699.aspx