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
相关推荐
冬天豆腐几秒前
Springcloud,Nacos管理,打jar包后,启动报错
java·spring cloud·maven·jar
2401_874732538 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
飞Link9 分钟前
具身智能中 Wrapper 架构的深度解构与 Python 实战
开发语言·python·架构
redgxp18 分钟前
SpringBoot3整合FastJSON2如何配置configureMessageConverters
java
空空kkk22 分钟前
Java集合——List
java
telllong22 分钟前
C++20 Modules:从入门到真香
java·前端·c++20
叫我一声阿雷吧28 分钟前
JS 入门通关手册(21):原型链:JS 继承的底层原理
开发语言·javascript·前端面试·原型链·js继承·js进阶·js面向对象
程序员小崔日记32 分钟前
一道基础计算题卡在 40 分,求助判题规则问题
java·算法·竞赛
是Yu欸33 分钟前
LangGraph 智能体状态管理与决策
java·javascript·数据库
计算机学姐33 分钟前
基于SpringBoot的中药材店铺管理系统
java·vue.js·spring boot·后端·spring·tomcat·推荐算法