@Override
//如果要在抛出 非RuntimeException时也触发回滚机制,需要我们在注解上添加 rollbackFor = { Exception.class }属性。
@Transactional(rollbackFor = {Exception.class})
public ResponseVO save(Aaster master) {
....
try {
return responseVO.setErrMsg("数据保存成功!").setResultData(ResultCode.MASTER, master);
} catch (Exception e) {
e.printStackTrace();
//在try-catch异常捕获的时候要手动在catch语句块中抛出异常,不然事务会失败
throw new RuntimeException(e.getMessage());
}
return responseVO.error().setErrMsg("数据保存失败!");
}