设置多个班主任类似问题

设置班主任或者是修改,我们一般住在代码中是设置成saveAndUpdtate(),在遇到要设置多个的话这种方式是不太可行的,可以采取开启一个事务,先将旧数据拿到,将新数据插入,再用旧数据id去删除旧数据,定义一个全局flag为false,每个步骤将结果存到flag,用try catch 包着,最后判断flag的值为false时回滚,有异常时回滚,最可以解决问题。

@Transactional(rollbackFor = Exception.class)
boolean flag = false;
try {
    //判断是否有这个班级
 ........
    
    //先查询出原有数据
    

    //构造参数
   
    //新设置的数据先做添加 将旧数据删除掉
    

    //删除之前的数据 先通过列表获取主键id
   
} catch (ServiceException serviceException) {
    Console.error(serviceException.getMsg());
    throw new ServiceException(serviceException.getMsg());

} catch (Exception ex) {
    Console.error(ex.getMessage());
    throw new ServiceException("");
}

if (!flag) {
    //触发回滚
    throw new ServiceException("");
}

return flag;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值