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
相关推荐
磁爆步兵2 小时前
内存分区:程序运行的核心秘密
java·开发语言·jvm
此生决int3 小时前
深入理解C++系列(06)——模版初阶与STL
开发语言·c++
流星白龙3 小时前
【Docker】4.NameSpace空间隔离实战
java·运维·docker
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题 第207题】【09_Zookeeper篇】第8题:谈谈 ZooKeeper 的可靠性保障机制
java·zookeeper·高可用·可靠性·分布式系统
swany3 小时前
同步数据中,只需要几秒钟 & milvus向量数据库不可用 dify1.16.1 升级后踩坑记录
开发语言·python·numpy
harmful_sheep3 小时前
maven多版本包导致java.lang.NoClassDefFoundError
java·maven
小杍随笔3 小时前
2025年Rust GUI框架实战万字避坑指南
开发语言·后端·rust
geovindu3 小时前
CSharp: LogHelper
开发语言·后端·c#·.net
Mark_ZP3 小时前
【锁2】锁的分类与概念
java·
奈斯先生Vector3 小时前
大模型 Agentic Workflow 架构解构:异构 API 调度与 Token 路由的多模态系统设计
开发语言·前端·架构·prompt·aigc·音视频