悲观锁和乐观锁
目录
悲观锁和乐观锁:处理的是同一张表的同一行记录
悲观锁
如果使用了(加了一个行锁),如果事务没有被释放,就会造成其他事务处于等待。
使用数据库提供的锁机制实现悲观锁。
如果数据库不支持设置的锁机制,JPA会使用该数据库提供的合适的锁机制来完成,而不会报错。
使用entityManage.find(class,id,LockModeType);加悲观锁,相当于发送SELECT … FOR UPDATE
使用entityManage.lock(object,LockModeType);加悲观锁,相当于发送SELECT id FROM … FOR UPDATE
乐观锁(性能好)
添加一个私有字段version,不由程序员维护,由JPA自己维护
|
|