一、排它鎖(寫鎖):防止資源共享,用做數據的修改,若是事物T給A加上了鎖,那麼其餘的事物就不能對A加任何的鎖,只有T能夠對A進行查詢或者修改直到提交或者回滾,其餘事物才能對A操做。web
二、共享鎖(讀鎖):鎖上以後只能查詢了,事物T給A加上共享鎖,其實事物只能給A加共享鎖,不能加別的鎖,而且這些事物只能查詢spa
3,悲觀鎖:事物T給A加上鎖以後,其餘事物不容許對A進行任務操做hibernate
4,樂觀鎖:事物T給A加上鎖以後,其餘事物能夠對A進行操做,只有在提交事物的時候回檢測是否衝突,若是衝突進行相應的操做。檢測方式:orm
(1)查詢的時候保存此信息的全部數據,更新的時候跟之前的老數據進行比較,若是同樣說明沒有衝突,若是不同說明已經衝突,進行相應的處理資源
(2)利用版本,hibernate用的就是這個,增長一個rowversion字段,每次更新此字段會自動加1,若是更新的時候這條數據的rowversion跟更新以後不一致,說明衝突。it
(3)利用timestamp 跟以前操做類似,也是進行比較io