时候操作同一账户就是典型的样例。

比方A、B操作员同一时候读取一剩余金额为1000元的账户,A操作员为该账户添加100元。B操作员同一时候为该账户减去 50元。A先提交。B后提交。 最后实际账户剩余金额为1000-50=950元。但本该为 1000+100-50=1050。这就是典型的并发问题

一个简单的解决的方法:更新的时候给版本字段加上 1。然后 UPDATE 会返回一个更新结果的行数,通过这个行数去推断。

update account set price = #price #,version=version+1

where id=#id#
and version=#vsersion#

假设更新运行返回的数量是 0 表示产生并发改动了,须要又一次获得最新的数据后再进行更新操作。





      Hibernate、JPA 等 ORM 框架或者实现。是使用版本,再推断 UPDATE 后返回的数值,假设这个值小于 1 时则抛出乐观锁并异常脂肪的变化。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

最新文章

  1. ArcMap中地图输出(Options)选项显示不完整
  2. [Cocos2d-x For WP8]矩形碰撞检测
  3. js压缩反压缩
  4. MySQL内存----使用说明全局缓存+线程缓存) 转
  5. C#入门经典学习笔记一
  6. Code Forces Gym 100886J Sockets(二分)
  7. IOS-UI- UIScrollView 滚动视图(1)
  8. jquery 20行代码实现简单轮播效果
  9. 使用UIPageControl UIScrollView制作APP引导界面
  10. activiti笔记四 关于部署信息表act_re_deployment
  11. 一些常用Linux命令简记
  12. .NET开源项目 TOP 25
  13. Python中查看函数相关文档
  14. Mybatis框架(未完待续)
  15. Linux替换指定列的字符串(awk 命令)
  16. Web开发笔记 #08# Jackson组合多个对象的属性构成JSON(以及添加自定义属性)
  17. vue 使用v-cloak让在页面加载时不显示{{}}花括号
  18. # ML学习小笔记—Gradien Descent
  19. Centos7重置root密码的方法(亲测有效)
  20. jsp标签、 项目全路径引用${ctx}

热门文章

  1. Wix打包系列(三)自定义Action(Custom Action)
  2. Net处理html页面元素工具类(HtmlAgilityPack.dll)的使用
  3. Android学习-各种对话框
  4. Yii学习笔记之三(在windows 上安装 advanced )
  5. sort功能使用
  6. 静默安装MSSQL
  7. 怎样让你的安卓手机瞬间变Firefox os 畅玩firefox os 应用
  8. Learning To Rank之LambdaMART前世今生
  9. c语言移位操作
  10. hdu2544(自己实现优先队列)