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
相关推荐
不会代码的小猴3 分钟前
C++的第九天笔记
开发语言·c++·笔记
一 乐24 分钟前
人事管理系统|基于Springboot+vue的企业人力资源管理系统设计与实现(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·后端
带刺的坐椅26 分钟前
Solon AI 开发学习19 - 结合 Solon Flow 实现 ReAct 效果
java·ai·chatgpt·llm·openai·solon·deepseek
CoderYanger30 分钟前
Java SE——12.异常(≠错误)《干货笔记》
java·开发语言
Data_agent40 分钟前
1688获得1688店铺所有商品API,python请求示例
java·开发语言·python
一晌小贪欢44 分钟前
【Python办公】-图片批量添加文字水印(附代码)
开发语言·python·图片水印·python水印·python添加水印·图片添加水印
why1511 小时前
面经整理——算法
java·数据结构·算法
Yeats_Liao1 小时前
CANN Samples(十三):Ascend C 算子开发入门
c语言·开发语言
越来越无动于衷1 小时前
Java 实现 WebService(SOAP)联网调用:从原理到实战
java·开发语言
静水楼台x1 小时前
Java之String系列--intern方法的作用及原理
java·spring