<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0
    在Grails中Service層默認就是支持事務的,事務傳播級別默認是PROPAGATION_REQUIRED.  當然你也可以設置transactional = false.
    如果transactional 設置為true, 則在Service層如何方法內部拋出RuntimeException類型異常, 所有操作將會回滾.

    class UserService {

        boolean transactional = true

        public boolean register(User user, UserInfo userInfo) throws RuntimeException {
            if (user.save()) {
                userInfo.user = user
                if (userInfo.save()) {
                    return true
                } else {
                    throw new RuntimeException ('ServiceException: UserService.register()...');
                }
            } else {
                throw new RuntimeException ('ServiceException: UserService.register()...');
            }
        }
    }

    這樣不管哪個保存失敗, 數據都將會回滾!
    posted on 2008-07-21 21:29 周銳 閱讀(1700) 評論(0)  編輯  收藏 所屬分類: Groovy&Grails
    主站蜘蛛池模板: 亚洲精品成人久久久| 美女网站免费福利视频| 免费a级黄色毛片| 亚洲欧洲无码一区二区三区| 日本zzzzwww大片免费| 久久丫精品国产亚洲av不卡| 久久免费的精品国产V∧| 国产精品久久久亚洲| 欧洲人免费视频网站在线| 亚洲男同帅GAY片在线观看| 成人无码区免费A∨直播| 久久被窝电影亚洲爽爽爽 | 亚洲欧洲国产精品香蕉网| 久久久免费观成人影院| 亚洲精品成人网站在线观看 | 亚洲成av人片在线天堂无| 国产成人在线免费观看| 免费一区二区无码视频在线播放 | www.亚洲精品.com| 国产特黄一级一片免费| 亚洲av无码乱码国产精品fc2| 久久久久久夜精品精品免费啦 | 久久久久久久亚洲Av无码| h片在线免费观看| 亚洲AV无码资源在线观看| av无码东京热亚洲男人的天堂| 本免费AV无码专区一区| 亚洲毛片一级带毛片基地| 最新猫咪www免费人成| 黄色网址免费在线| 亚洲国产一区二区a毛片| 成人免费一级毛片在线播放视频 | 亚洲网站在线观看| 精品免费久久久久久成人影院| 一级做性色a爰片久久毛片免费| 亚洲国产精品无码久久久不卡 | 最近免费中文字幕视频高清在线看| 亚洲欧美在线x视频| 亚洲精品高清无码视频| 最近最新中文字幕完整版免费高清| 久久av免费天堂小草播放|