HumanWang_ 2022-06-05 21:23 采纳率: 100%
浏览 27
已结题

自定义异常解决DATABASE

①遇到的问题:
ERR_EMP_DATABASE_IS_ERROR

img

②下面是我写的一个保存的功能,一点击按钮就报上面的自定义异常,无法保存数据到数据库

    public void saveBuyOrder(OrderModel om, Long[] goodsUuids, Integer[] nums,
            Double[] prices, EmpModel creater) {
        //保存订单
        //设置订单号
        String orderNum = NumUtil.generatorOrderNum();
        om.setOrderNum(orderNum);
        //订单创建时间是当前系统时间
        om.setCreaterTime(System.currentTimeMillis());
        //当前保存的是采购订单
        om.setOrderType(OrderModel.ORDER_ORDERTYPE_OF_BUY);
        //新保存的订单的状态是未审核
        om.setType(OrderModel.ORDER_TYPE_OF_BUY_NO_CHECK);
        //制单人
        om.setCreater(creater);
        //对应的供应商(已经封装在了om)
        
        Integer totalNum = 0;
        Double totalPrice = 0.0d;
        Set<OrderDetailModel> odms = new HashSet<OrderDetailModel>();
        for (int i = 0; i<goodsUuids.length; i++) {
            //创建订单明细的对象并添加到集合中
            OrderDetailModel odm = new OrderDetailModel();
            //设置订单明细数量
            odm.setNum(nums[i]);
            //设置订单明细单价
            //odm.setPrice(prices[i]);
            odm.setPrice(prices[i]);
            //设置订单明细的商品
            GoodsModel gm =    new GoodsModel();
            gm.setUuid(goodsUuids[i]);
            odm.setGm(gm);
            //设置所属的订单
            odm.setOm(om);
            //将明细对象加入集合
            odms.add(odm);
            
            totalNum += nums[i];
            totalPrice += nums[i] * prices[i];
        }
        //设置订单中对应的所有明细数据
        om.setOdms(odms);
        //设置订单总数量
        om.setTotalNum(totalNum);
        //设置订单总价值
        om.setTotalPrice(totalPrice);
        orderDao.save(om);
    }

③问题相关代码,请勿粘贴截图
这个是我的自定义异常类

public abstract class BaseImpl<T> extends HibernateDaoSupport{
    // TODO 没做完
    private Class<T> entityClass;
    //将entityClass初始化
    public BaseImpl(){
        Type genType = getClass().getGenericSuperclass();
        Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
        entityClass = (Class)params[0];
    }

    public void save(T  t) {
        try {
            this.getHibernateTemplate().save(t);
        } catch (Exception e) {
            throw new AppException("ERR_EMP_DATABASE_IS_ERROR",e);
        }
    }
    

④运行结果及报错内容
这个是报错内容:ERR_EMP_DATABASE_IS_ERROR
我的解答思路和尝试过的方法
这个是我提交的需要保存的四个数据

img

⑤我想要达到的结果
把这四个数据保存到数据库的两个表:订单表和订单明细表

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2022-06-05 21:26
    关注

    将异常打印出来

            } catch (Exception e) {
                e.printStackTrace();
                throw new AppException("ERR_EMP_DATABASE_IS_ERROR",e);
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月13日
  • 已采纳回答 6月5日
  • 创建了问题 6月5日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度