hibernate丢失更新
2024-08-30 01:51:49
如果多个线程操作基于同一个查询结构对表中的记录进行修改,那么后修改的记录将会覆盖前面修改的记录,前面的修改就丢失掉了,这就叫做更新丢失。
Serializable可以防止更新丢失问题的发生。其他的三个隔离级别(Read uncommitted isolation、Read committed isolation、Repeatable read isolation)都有可能发生更新丢失问题。
Serializable虽然可以防止更新丢失,但是效率太低,通常数据库不会用这个隔离级别,所以我们需要其他的机制来防止更新丢失。解决办法:
悲观锁:使用session.get(Customer.class, 1,LockMode.UPGRADE); 方法
乐观锁:在对应的JavaBean中添加一个属性,名称可以是任意的。例如:private Integer version; 提供get和set方法。在映射的配置文件中,提供<version name="version"/>标签即可。
最新文章
- 原创jquery插件treeTable(转)
- oracle报错:ORA-00054: 资源正忙,要求指定 NOWAIT
- orientation和gravity的区别
- Android引用百度定位API第三方组件后导致其它.so文件无法正常加载的问题
- cep
- 关于js中return false、event.preventDefault()和event.stopPropagation()
- C语言排序算法复习
- Haskell趣學指南--这个有意思
- 华为上机题汇总----java
- php des 加密类
- [HDOJ2572]终曲
- 自定义控件,上图下字的Button,图片任意指定大小
- 使用Ext JS,不要使用页面做组件重用,尽量不要做页面跳转
- GitHub学习笔记:远程端的操控
- Linux 的进程间通信:管道
- 前端特效demo | 一起围观 10 种创意时钟
- 阿里分布式服务框架Dubbo的架构总结
- Linux 典型应用之常用命令
- 【转】MySQL— 索引
- SQL Server异常汇总
热门文章
- tomcat solr 限制ip
- linux日常管理-netstat查看端口
- Linux/Unix 指令使用说明的格式介绍(the Bash Command &#39;Usage&#39; Syntax)
- 《精通Spring4.X企业应用开发实战》读后感第五章(FactoryBean)
- 【NLP】中文分词:原理及分词算法
- CSS类名命名规则
- SQL数据库操作整理
- 【转】C# 使用正则表达式去掉字符串中的数字,或者去掉字符串中的非数字
- 洛谷P3258 [JLOI2014]松鼠的新家
- retrying模块的安装及使用