西沙璞玉
          愛不容易
          posts - 0,comments - 4,trackbacks - 0
          @Transactional

          spring 事務注解

          默認遇到throw new RuntimeException("...");會回滾
          需要捕獲的throw new Exception("...");不會回滾

          // 指定回滾
          @Transactional(rollbackFor=Exception.class)
              public void methodName() {
                 // 不會回滾
                 throw new Exception("...");
              }
          //指定不回滾
          @Transactional(noRollbackFor=Exception.class)
              public ItimDaoImpl getItemDaoImpl() {
                  // 會回滾
                  throw new RuntimeException("注釋");
              }

              // 如果有事務,那么加入事務,沒有的話新建一個(不寫的情況下)
              @Transactional(propagation=Propagation.REQUIRED)
              // 容器不為這個方法開啟事務
              @Transactional(propagation=Propagation.NOT_SUPPORTED)
              // 不管是否存在事務,都創建一個新的事務,原來的掛起,新的執行完畢,繼續執行老的事務
              @Transactional(propagation=Propagation.REQUIRES_NEW)
              // 必須在一個已有的事務中執行,否則拋出異常
              @Transactional(propagation=Propagation.MANDATORY)
              // 必須在一個沒有的事務中執行,否則拋出異常(與Propagation.MANDATORY相反)
              @Transactional(propagation=Propagation.NEVER)
              // 如果其他bean調用這個方法,在其他bean中聲明事務,那就用事務.如果其他bean沒有聲明事務,那就不用事務.
              @Transactional(propagation=Propagation.SUPPORTS)
             
              /*
              public void methodName(){
                 // 本類的修改方法 1
                 update();
                 // 調用其他類的修改方法
                 otherBean.update();
                 // 本類的修改方法 2
                 update();
              }
              other失敗了不會影響 本類的修改提交成功
              本類update的失敗,other也失敗
              */
          @Transactional(propagation=Propagation.NESTED)
          // readOnly=true只讀,不能更新,刪除
          @Transactional (propagation = Propagation.REQUIRED,readOnly=true)
          // 設置超時時間
          @Transactional (propagation = Propagation.REQUIRED,timeout=30)
          // 設置數據庫隔離級別
          @Transactional (propagation = Propagation.REQUIRED,isolation=Isolation.DEFAULT)

          posted on 2012-04-12 10:07 @趙 閱讀(47448) 評論(2)  編輯  收藏

          FeedBack:
          # re: Spring 之注解事務 @Transactional
          2014-08-19 14:39 | cqchen
          指定回滾的那個例子是不是有問題  回復  更多評論
            
          # re: Spring 之注解事務 @Transactional [未登錄]
          2014-09-25 09:19 | test
          @cqchen
          對··是錯的··  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          哥哥最近不是很忙
          主站蜘蛛池模板: 宣化县| 松溪县| 夏津县| 丹凤县| 大同市| 天峻县| 涪陵区| 琼海市| 漯河市| 丹寨县| 桓仁| 丁青县| 怀仁县| 偃师市| 镇巴县| 甘孜| 广昌县| 铅山县| 桐乡市| 偃师市| 浦江县| 公主岭市| 临桂县| 内黄县| 巴林右旗| 都昌县| 前郭尔| 辰溪县| 安义县| 永昌县| 贵港市| 铁力市| 察哈| 宿州市| 通州区| 丽江市| 科技| 临湘市| 阿克苏市| 兴仁县| 焉耆|