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
相关推荐
vipxieliang8 分钟前
ValidX 正则表达式预编译优化:Pattern 复用策略
java·spring boot·后端
lhbweilai14 分钟前
QT项目(串口助手)
开发语言·qt
eggwyw21 分钟前
C++相交链表和反转链表详解
开发语言·c++
Wang's Blog23 分钟前
Java 项目实战:交友项目 - FastDFS 工作原理
java·大数据·交友
Wang's Blog26 分钟前
Java 项目实战:交友项目 - 保存访客记录
java·开发语言·交友
liangbo729 分钟前
Spring系列01:IoC 与 DI 到底解决了什么
java·spring
江湖中的阿龙33 分钟前
Oracle 紧急安全警报:Java 9.1 分漏洞 CVE-2026-91403,撤销对 eMudhra 风险证书的信任
java·安全·oracle
挖掘狂人39 分钟前
缓存和数据库的一致性,别停在 “延时双删”
java·后端·程序员
codigger1 小时前
缓存和数据库的一致性,别停在 “延时双删”
java·后端·程序员·后端开发
Java后端的Ai之路1 小时前
Java并发编程07-等待通知机制优化循环等待
java·数据库·python