现在的位置: 首页 > 综合 > 正文

Hibernate 乐观锁与悲观锁

2017年12月25日 ⁄ 综合 ⁄ 共 308字 ⁄ 字号 评论关闭

Hibernate悲观锁通过数据库底层控制,在SQL语句或HQL语句后面加句for update 即可实现悲观锁的功能

例: select * from person where id = 1 for update ;   执行了这条语句,数据库就把这条记录给锁定了,

Hibernate乐观锁

乐观锁是通过程序来控制的

操作有两步:

第一,在锁定的那个类上加个int (其它类型也可以) 类型的version变量,为其生成set get方法

第二,在hbm文件里添加<version name="version" column="version" type="int" />

乐观锁会抛出org.hibernate.StaleObjectStateException异常

抱歉!评论已关闭.