开发者社区> 问答> 正文

getHibernateTemplate().update() 违反唯一约束 为什么不执行了?

修改数据 然后违反唯一 约束了 不报异常,但是JAVA程序就停在这儿不往下执行了,想给前台错误提示都不行

Dao层:

public void update(RoomInfo ri) {
        RoomInfo rInfo=this.get(ri.getRoomId()); //先查出来再修改 防止null出现
        if(ri.getRoomNo()!=null && !"".equals(ri.getRoomNo()) && !"null".equals(ri.getRoomNo()))
        {
            rInfo.setRoomNo(ri.getRoomNo());
        }
        if(ri.getTypeId()!=null && !"".equals(ri.getTypeId()) && !"null".equals(ri.getTypeId()))
        {
            rInfo.setTypeId(ri.getTypeId());
        }
        if(ri.getRoomMoney()!=null && !"".equals(ri.getRoomMoney()) && !"null".equals(ri.getRoomMoney()))
        {
            rInfo.setRoomMoney(ri.getRoomMoney());
        }
        if(ri.getRoomFloor()!=null && !"".equals(ri.getRoomFloor()) && !"null".equals(ri.getRoomFloor()))
        {
            rInfo.setRoomFloor(ri.getRoomFloor());
        }
        if(ri.getRoomStatus()!=null && !"".equals(ri.getRoomStatus()) && !"null".equals(ri.getRoomStatus()))
        {
            rInfo.setRoomStatus(ri.getRoomStatus());
        }
        if(ri.getPs()!=null && !"".equals(ri.getPs()) && !"null".equals(ri.getPs()))
        {
            rInfo.setPs(ri.getPs());
        }
        super.getHibernateTemplate().update(rInfo);
    }

业务逻辑层:

public boolean doUpdate(RoomInfo ri) {
        boolean f=false;
        try
        {
            this.roomInfoDao.update(ri);
            f=true;
        } catch (Exception e)
        {
            f=false;
            throw new RuntimeException("RoomInfoBizImpl-doUpdate()",e);
        }
         
        return f;
    }

action:

public String edRoom()     //修改房间
    {
         
        boolean f=this.roomInfoBiz.doUpdate(ri);
//      session.put("allMsg", YwtTools.getMsg(f, "修改房间"));
        System.out.println("f=="+f);
        if(f)
        {
            sysMsg="true";
        }else
        {
            sysMsg="false";
            System.out.println("ssg=="+sysMsg);
        }
        return "getJson"; 
    }

展开
收起
爵霸 2016-03-04 09:05:18 2230 0
1 条回答
写回答
取消 提交回答
  • 在逻辑层抛出的exception没有在action捕获, 所以就没法跑下去给前台提示了.
    可以试试在逻辑层那里不抛出exception, 只用logger来记录在日志, 这样能返回f给action判断结果

    2019-07-17 18:51:47
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载