<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 周銳 閱讀(1706) 評論(0)  編輯  收藏 所屬分類: Groovy&Grails
    主站蜘蛛池模板: 女人被男人躁的女爽免费视频| 亚洲AV日韩AV一区二区三曲| 在线免费观看伊人三级电影| 午夜亚洲av永久无码精品| 自拍日韩亚洲一区在线| 97视频免费在线| 亚洲不卡1卡2卡三卡2021麻豆| 亚洲精品视频免费在线观看| 亚洲国产成人在线视频| 国产精品成人免费视频网站京东| 亚洲AV无码一区二区三区牛牛| 久久久www成人免费毛片| 亚洲人成无码网站在线观看| 国产成人免费手机在线观看视频 | 成人毛片免费在线观看| 99久久国产亚洲综合精品| 午夜免费福利在线观看| 无码天堂亚洲国产AV| 亚洲无码黄色网址| 日韩视频在线观看免费| 亚洲电影唐人社一区二区| 久久精品a一国产成人免费网站 | 日韩视频在线观看免费| 亚洲熟妇av一区二区三区下载| 无码日韩精品一区二区免费| 综合一区自拍亚洲综合图区| 丁香五月亚洲综合深深爱| 99re免费在线视频| 亚洲欧美国产欧美色欲| 亚洲熟妇无码八AV在线播放| 亚洲大片免费观看| 久久久亚洲精华液精华液精华液| 在线A亚洲老鸭窝天堂| 亚洲高清视频免费| 青草青草视频2免费观看| 久久精品国产精品亚洲艾| 无码专区永久免费AV网站| 国产青草亚洲香蕉精品久久| 久久99国产亚洲精品观看| 成人免费777777| 日本卡1卡2卡三卡免费|