隨筆-124  評論-49  文章-56  trackbacks-0

          悲觀鎖

          悲觀鎖的實現(xiàn),通常依賴于數(shù)據(jù)庫機制,在整個過程中將數(shù)據(jù)鎖定,其它任何用戶都不能讀取或修改
          session.load(Inventory.class, 1, LockMode.UPGRADE);

          樂觀鎖

          大多數(shù)基于數(shù)據(jù)版本記錄機制(version)實現(xiàn),一般是在數(shù)據(jù)庫表中加入一個version字段
          讀取數(shù)據(jù)時將版本號一同讀出,之后更新數(shù)據(jù)時版本號加一,如果提交數(shù)據(jù)時片本號小于
          或等于數(shù)據(jù)庫表中的版本號,則認為數(shù)據(jù)是過期的,否則給予更新。

          1 Inventory.java:
           
          private int id;
          private String name;
          private int count;
          private int version;
          //version版本號由數(shù)據(jù)庫維護,我們不用管
          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 閱讀(215) 評論(0)  編輯  收藏 所屬分類: hibernate/orm
          主站蜘蛛池模板: 奉新县| 彩票| 全椒县| 攀枝花市| 平顶山市| 集安市| 巫溪县| 花莲市| 揭东县| 加查县| 台北县| 济阳县| 西和县| 太原市| 靖宇县| 宿松县| 云和县| 土默特右旗| 水富县| 望都县| 西宁市| 常宁市| 衡阳市| 娄烦县| 师宗县| 大竹县| 灌阳县| 河西区| 喜德县| 龙南县| 海淀区| 婺源县| 庆阳市| 乳山市| 梅河口市| 潮州市| 扎鲁特旗| 祁东县| 崇左市| 同德县| 肃宁县|