<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
    主站蜘蛛池模板: 曰批免费视频播放免费| 亚洲精品乱码久久久久久蜜桃图片 | 四虎成人精品国产永久免费无码| 久久WWW免费人成人片| 亚洲一区在线免费观看| 国色精品卡一卡2卡3卡4卡免费| 亚洲福利视频一区二区三区| 蜜桃AV无码免费看永久| 亚洲AV成人噜噜无码网站| 最近免费中文字幕大全视频| 亚洲 欧洲 视频 伦小说| 毛片免费视频观看| 亚洲成av人在线观看网站| 亚洲 综合 国产 欧洲 丝袜| 免费手机在线看片| 国产日韩亚洲大尺度高清| 一级毛片在线免费看| 亚洲喷奶水中文字幕电影| 好男人看视频免费2019中文| 添bbb免费观看高清视频| 亚洲日韩av无码| 最近中文字幕电影大全免费版| 亚洲六月丁香六月婷婷蜜芽| 小小影视日本动漫观看免费| jizz免费在线影视观看网站| 久久夜色精品国产亚洲AV动态图| 1000部啪啪毛片免费看| 久久亚洲精品高潮综合色a片| 亚洲国产激情一区二区三区| 免费不卡在线观看AV| 亚洲av乱码一区二区三区按摩 | 亚洲一区二区三区日本久久九 | 可以免费观看的一级毛片| 免费看黄的成人APP| 亚洲影视自拍揄拍愉拍| yy6080久久亚洲精品| 免费看又黄又无码的网站| 国产成人亚洲综合a∨| 亚洲va在线va天堂va四虎| 妞干网免费观看视频| 久久99久久成人免费播放|