📄 20_悲观锁---乐观锁.txt
字号:
悲观锁
悲观锁的实现:通常依赖于数据库机制,在整个过程中将数据锁定,其它任何用户都不能读取或修改
* 在映射文件中没有什么 特殊的配置
* 在进行数据库操作时进行如下行为 即可加锁
Kucun k = (Kucun)session.load(Kucun.class, 1001, LockMode.UPGRADE);
//实体类 实体对象 主键id lockmode 锁模式
==================================================================================================================
乐观锁
乐观锁的实现 : 主要是通过版本控制来 实现的
并发性要好点,但是也有缺点 :如果更新的内容过多 有的时候不能更新 降低了生产力
* 都是在映射文件中的配置操作
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Kucun
private int num;
private String name;
private int now_sum;
private int version; // 版本控制
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<hibernate-mapping >
<class name="com.tcit.hibernate.Kucun" table="t_kucun" optimistic-lock="version"><!-- 添加乐观锁 -->
<id name="num"> //上边的version 与下边的不是一个意思
<generator class="assigned"/>
</id>
<version name="version"/> <!-- 具体的乐观锁 -->
<property name="name"/>
<property name="now_sum"/>
</class>
</hibernate-mapping>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -