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
相关推荐
千里码aicood13 小时前
基于Python的电商数据采集系统(大数据+爬虫)
开发语言·python
莫得感情 o13 小时前
并发 14 · 收官:虚拟线程与结构化并发
java·并发
聚美智数13 小时前
图片水印-图片剪裁-图片缩放API接口介绍
java·服务器·数据库
陈皮波比茶13 小时前
Python项目实战-网络机器人(爬虫)
开发语言·网络·爬虫·python·机器人
xierui12312314 小时前
AI Agent 隐私架构:本地化重点为什么是登录态与执行权限
java·人工智能·网络安全·架构
cfm_291414 小时前
Spring AI Tool 调用架构全解
java·人工智能·spring
法哥201214 小时前
用 C++ 控制 CMW100,到底在干什么?
开发语言·c++
sun༒14 小时前
Spring @Scheduled 定时任务详解:Cron表达式、执行顺序、优先级与并行调度
java·后端·spring
QH1392923188014 小时前
NVIDIA H200 H300服务器
运维·服务器·开发语言·网络·信息与通信
一次旅行14 小时前
DeepSeek‑V4‑Flash‑Vision‑Exp 小白入门实战|3种传图方式、完整可跑代码、避坑排障
java·前端·人工智能