随笔-124  评论-49  文章-56  trackbacks-0

悲观锁

悲观锁的实现,通常依赖于数据库机制,在整个过程中将数据锁定,其它任何用户都不能读取或修改
session.load(Inventory.class, 1, LockMode.UPGRADE);

乐观锁

大多数基于数据版本记录机制(version)实现,一般是在数据库表中加入一个version字段
读取数据时将版本号一同读出,之后更新数据时版本号加一,如果提交数据时片本号小于
或等于数据库表中的版本号,则认为数据是过期的,否则给予更新。

1 Inventory.java:
 
private int id;
private String name;
private int count;
private int version;
//version版本号由数据库维护,我们不用管
2 Inventory.hbm.xml
<class name="Inventory" table="t_inventory2" optimistic-lock="version">
        
<id name="id">
            
<generator class="native"/>
        
</id>
        
<property name="name"/>
        
<property name="count"/>
        
<property name="version"/>
    
</class>
posted on 2009-11-03 16:40 junly 阅读(203) 评论(0)  编辑  收藏 所属分类: hibernate/orm

只有注册用户登录后才能发表评论。


网站导航: