我在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.
添加回答
举报
0/150
提交
取消