zoukankan      html  css  js  c++  java
  • hibernate乐观锁实现原理

     假设id=1001有1000块钱,张三李四同时取钱。如下:

    P_Account

    Id              money        version

    1001        1000           0

    张三查询余额1000,此时版本号是0。取了200,还剩800,提交之后此时版本号是1

    Zhangsan

    Id              money        version

    1001         1000           0

    1001   1000-200=800  1

    李四和张三同时查询查询余额1000,此时版本号是0。取了300,理应还剩700,此时提交事务,发现版本号变为了1(因为张三提交事务改变了版本号)

    李四提交时,比较版本的值是否一致

    如果一致允许提交,否则不允许提交(版本号由0变成1,不允许提交了)

    lisi

    Id              money          version

    1001        1000              0

    1001   1000-300=700    0

    1001    800                    1

    1001   800-300=500     2

  • 相关阅读:
    软工个人阅读作业3
    阅读作业2
    代码复审
    pair project elevator
    读《移山之道——VSTS软件开发指南》
    软件工程作业--词频统计
    个人阅读作业3
    个人阅读作业2
    代码复审
    结对项目电梯吐血总结
  • 原文地址:https://www.cnblogs.com/hkdpp/p/10496012.html
Copyright © 2011-2022 走看看