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
相关推荐
float_com2 分钟前
【java进阶】------ 多线程【实际案例分析】
java
用户298698530143 分钟前
Java 中的 Word 变量管理:添加、统计、获取与删除
java·后端
techdashen6 分钟前
半小时读懂 Rust:从语法符号到所有权思维
开发语言·rust
郭龙_Jack8 分钟前
Java 17 到 Java 25:LTS 升级的全面收益与迁移指南
java·开发语言·python
要开心吖ZSH13 分钟前
Java AI Agent 开发中的 RAG 实现方案及小白入门指南
java·ai·agent·rag
掉鱼的猫14 分钟前
Java 流程编排新范式 Solon Flow:一个引擎,七种节点,覆盖规则/任务/工作流/AI 编排全场景
java·workflow
TIEM_6920 分钟前
C++ vector容器全面解析:从入门到精通
开发语言·c++
xiaoye-duck21 分钟前
Qt 入门指南:从Qt历史背景、框架认知到安装和环境搭建
开发语言·qt
Irissgwe21 分钟前
c++多态
开发语言·c++·多态
lingran__21 分钟前
C++_类和对象(上)
开发语言·c++