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
相关推荐
sunfdf14 小时前
Next.js 新手从零部署到首跑实战指南
开发语言·javascript·ecmascript
hold?fish:palm15 小时前
从源码到可执行文件:C++程序的编译过程
开发语言·c++
随性而行36015 小时前
微信API接口与AI自动化:开发者的实现思路
运维·服务器·开发语言·人工智能·微信·自动化
沫离痕15 小时前
Cassandra 4.0.11 Docker 安装与配置手册
java·spring boot
lingran__15 小时前
C++_STL简介
开发语言·c++
plainGeekDev15 小时前
libs 目录 → Gradle 依赖管理
android·java·kotlin
CodeStride16 小时前
就像长跑配速一样,我是如何平衡代码性能与可读性的
java
旋律翼216 小时前
Qt Bridges for C# 深度技术解析
开发语言·qt·c#
弹简特16 小时前
【Java项目-企悦抽】07-用户与认证模块-实现用户注册01
java·开发语言
L歪歪君16 小时前
Apache Doris全链路性能优化实战指南:从架构设计到生产落地
java·开发语言·算法