java并发修改数据,使用乐观锁

java并发修改同一记录时,避免更新丢失,需要加锁。要么在应用层加锁,要么在缓存加锁,要么

在数据库层使用乐观锁,使用 version 作为更新依据。

资金相关的金融敏感信息,使用悲观锁策略,正例:悲观锁遵循一锁二判三更新四释放的原则

在实体类中加上如下注解,由前端统一传更新之前的版本号

java 复制代码
@ApiModelProperty(value = "版本号")
@TableField(value = "VERSION", fill = FieldFill.INSERT, update = "%s+1")
@Version
private Integer version;

在sql执行修改时,sql如下

sql 复制代码
update tablename set version = version+1 where version = oldVersion
相关推荐
用户3721574261356 分钟前
Java 拆分 Word 文档教程:按页、分页符和分节符拆分
java
qq_344920569 分钟前
Qt事件过滤器
开发语言·c++·qt
liyinchi198815 分钟前
微信小程序支付遇到“由于小程序违规,支付功能暂时无法使用” 解决办法
java·微信小程序·go
执明wa26 分钟前
Android RecyclerView 多类型, 多种 Item
android·xml·开发语言·设计模式·android studio
横木沉30 分钟前
IntelliJ IDEA 无法识别 Git:Git is not installed 问题解决
java·git·github·intellij-idea
程序员yu37 分钟前
数智码力:Python作用域完全梳理,全局变量局部变量不再混乱
开发语言·python·学习
code2cat42 分钟前
Java进阶篇之Optional
java
用户8181870627461 小时前
第29章 死信队列与延迟消息实战
java·后端