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
相关推荐
醉城夜风~11 分钟前
(超详细)C++多态(Polymorphism)
开发语言·c++
这是个栗子14 分钟前
【JS代码分析】前端鉴权基础:Token 的本地存储与状态重置实践
开发语言·前端·javascript
chuan.bai22 分钟前
Java RAG 实战附录:qwen3 与 bge-m3 模型切换指南
java·人工智能·算法
wuyk55523 分钟前
7.AVL 树:第一个自平衡二叉搜索树
开发语言·stm32·单片机·算法
SL_staff25 分钟前
销售知识管理的断点分析与技术解法:从3天找话术到秒级检索
java·开源·github
荣码26 分钟前
向量数据库选型:4种方案全测了,选错重来成本最高
java·python
rannn_11127 分钟前
【力扣hot100】二叉树专题+总结
java·算法·leetcode·二叉树
SomeB1oody35 分钟前
【RustyML入门】5.3. 聚类指标
开发语言·后端·机器学习·rust·教程
OPEN-F44 分钟前
Python进阶教程:Web开发入门(Flask)
开发语言·python
神仙别闹1 小时前
基于C++ MFC实现动态分区分配存储管理
开发语言·c++·mfc