隨筆-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 閱讀(219) 評論(0)  編輯  收藏 所屬分類: hibernate/orm
          主站蜘蛛池模板: 牟定县| 武功县| 通化市| 龙胜| 文登市| 利津县| 赤水市| 新绛县| 三穗县| 乌拉特后旗| 延吉市| 都匀市| 维西| 海门市| 崇信县| 兴海县| 柏乡县| 定兴县| 齐河县| 济阳县| 靖江市| 唐海县| 喀喇沁旗| 河西区| 天全县| 察雅县| 于田县| 黔西县| 临潭县| 金堂县| 无锡市| 桓仁| 南昌县| 海原县| 辽源市| 金乡县| 娱乐| 邯郸市| 清苑县| 昌黎县| 九江市|