一、排它锁(写锁):防止资源共享,用做数据的修改,若是事物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