Hibernate lock方法:以指定的锁定模式进行锁定
lock 方法用来将指定的实体类对象以指定的锁定模式进行锁定。
语法:
语法:
lock(Object object,LockMode lockMode)
参数说明:- object:一个实体类的对象。
- lockMode:锁定模式,可用的值如表所示。
锁定模式 | 功能简介 |
---|---|
LockMode.NONE | 表示无锁机制,是Hibernate的默认值。采用这种方式首先在Hibernate缓存中检索,存在则直接返回对象的引用;否则到数据库中加载对象 |
LockMode.READ | 无论Hibernate缓存中是否存在,总是直接到数据库中加载。如果映射文件中设置了版本元素,则比较缓存中对象的版本与数据库中记录的版本是否一致 |
LockMode.UPGRADE | 在LockMode.READ模式的基础上,如果数据库系统支持悲观锁(如Mysql和Oracle),则执行select...for update语句,否则执行普通的select语句 |
LockMode.UPGRADE_NOWAIT | 在上一模式的基础上,如果是Oracle数据库,则执行select...for update nowait语句,nowait作用是:如果执行该select语句的事务不能立刻获得悲观锁,会立刻抛出锁定异常,而不会去等待其他事务释放锁定 |
示例
应用 get 方法获取实体类的对象,并使用 LockMode.READ 模式锁定该对象,关键代码如下:UserForm uf = new UserForm(); //定义保存实体类对象的JavaBean对象 uf = (UserForm)session.get(UserForm.class,1); //获取编号为1的用户信息 session.lock(uf,LockMode.READ); //锁定Lock对象
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频