积分中心
JPA 乐观锁:防止两个用户覆盖同一条数据
头像 ccai 2026-09-24 16:35:00    发布
0 浏览 0 点赞 0 收藏

多人同时编辑同一条巡检记录时,后保存的数据可能覆盖先保存的数据。可以在表中增加版本字段:

@Entity
public class InspectionTask {
    @Id
    private Long id;

    @Version
    private Long version;

    private String status;
}

更新时由 JPA 检查版本。如果版本已经变化,则抛出并发修改异常,服务端返回“数据已被其他用户修改”。

客户端收到后可以:

  • 重新加载最新数据;
  • 展示差异;
  • 允许用户重新编辑;
  • 对部分字段执行合并。

乐观锁适合冲突不频繁的场景。测试两个会话同时编辑、删除后更新和网络延迟较大的情况。


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
IDE
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除

京ICP备:2022009079号-2

京公网安备:11010502051901号

ICP证:京B2-20230255