mysql怎么设置悲观锁

mysql怎么设置悲观锁,第1张

在mysql中可以使用select…for update实现悲观锁。这样那条数据就被我们锁定了,其它的事务必须等本次事务提交之后才能执行。从而保证数据不会被其他事务更改从而导致数据的异常。但是select…for update不会阻塞select的查询。

需要注意的是mysql在采用InnoDB时,默认为行锁,且只有明确额指定主键,MySQL 才会执行行锁,锁住对应的那条数据,否则MySQL 将会执行表锁(将整个数据表单给锁住)。

这个是spring的配置文件吧

hibernate乐观锁应该是在entity里配置

设置一个version字段然后添加上@Version注解就ok

类型应该是timestamp

这是两个不同的概念。

1.在表中增加version,是由你自己写的程序或者sql的where条件控制的,并没有真正的到达mysql的事务层。

2.悲观锁是mysql自己维护的锁机制,你加不加version跟悲观锁没关系,而只跟你设置的事务级别有关系


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6489644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-23
下一篇 2023-03-23

发表评论

登录后才能评论

评论列表(0条)

保存