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
相关推荐
你怎么知道我是队长4 分钟前
python---新年烟花
开发语言·python·pygame
智算菩萨8 分钟前
【Python机器学习】主成分分析(PCA):高维数据的“瘦身术“
开发语言·python·机器学习
爬山算法10 分钟前
Hibernate(15)Hibernate中如何定义一个实体的主键?
java·后端·hibernate
廋到被风吹走11 分钟前
【Spring】Spring AMQP 详细介绍
java·spring·wpf
stars-he13 分钟前
单相可控整流电路的MATLAB仿真设计(2)
开发语言·matlab
一起养小猫1 小时前
LeetCode100天Day6-回文数与加一
java·leetcode
AC赳赳老秦1 小时前
政务数据处理:DeepSeek 适配国产化环境的统计分析与报告生成
开发语言·hadoop·spring boot·postgresql·测试用例·政务·deepseek
程序员小假1 小时前
我们来说一下 MySQL 的慢查询日志
java·后端
xlxxy_2 小时前
abap 批量创建供应商
运维·开发语言·sap·abap·pp·mm
独自破碎E2 小时前
Java是怎么实现跨平台的?
java·开发语言