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
相关推荐
Mr.LJie5 分钟前
记录使用iText7合并PDF文件、PDF发票、PDF火车票
java·pdf
野生技术架构师7 分钟前
2026最新最全Java 面试题大全(整理版)2000+ 面试题附答案详解
java·开发语言
南村群童欺我老无力.9 分钟前
Flutter 框架跨平台鸿蒙开发 - 打造表情包制作器应用
开发语言·javascript·flutter·华为·harmonyos
小北方城市网12 分钟前
SpringBoot 集成 MinIO 实战(对象存储):实现高效文件管理
java·spring boot·redis·分布式·后端·python·缓存
Solar202517 分钟前
工程材料企业数据采集系统十大解决方案深度解析:从技术挑战到架构实践
java·大数据·运维·服务器·架构
学习3人组18 分钟前
AI视觉Python方向专业技术名词
开发语言·人工智能·python
又是忙碌的一天18 分钟前
SpringMVC的处理流程
java·mvc
黎雁·泠崖20 分钟前
Java分支循环与数组核心知识总结篇
java·c语言·开发语言
派大鑫wink23 分钟前
【Day36】EL 表达式与 JSTL 标签库:简化 JSP 开发
java·开发语言·jsp
云泽80824 分钟前
深入浅出 C++ 继承:从基础概念到模板、转换与作用域的实战指南
开发语言·c++