为了账号安全,请及时绑定邮箱和手机立即绑定

service层的事物无法回滚

service层的事物无法回滚

尚方宝剑之说 2018-10-12 15:26:47
我在service层调用多个dao层方法,到用mybatis代理,其中一个出现问题之前的不回滚@Override    @Transactional(isolation=Isolation.DEFAULT, propagation=Propagation.REQUIRED,         rollbackFor=UserException.class)    public boolean saveUser(RegistUserDTO newUser) throws UserException{。。。。。。    UserBasePO userBasePO = new UserBasePO();        UserProfilePO userProPO = new UserProfilePO();        UserAuthenticatorPO userAuthPO = new UserAuthenticatorPO();        //将DTO转PO传DAO层        //先操作主表        dozerMapper.map(newUser, userBasePO);        userBasePO.setNickname(newUser.getIdentity());        userBasePO.setAvtor("//");        userBasePO.setUserScore(0);        userBasePO.setUserGrade(0);        int saveUserBaseResult = dao.saveUserBase(userBasePO);        if(1==1){            //throw new RuntimeException();            throw new UserException("存入新用户失败!");        }当抛出异常时不回滚,比如正在插入的是id该是19,由于抛出异常,没有插入,把异常去掉,插入数据的id是20.
查看完整描述

2 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

你这个这是抛异常,并没有写rollback的代码

查看完整回答
反对 回复 2018-10-29
  • 2 回答
  • 0 关注
  • 909 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信