zoukankan      html  css  js  c++  java
  • delete 删除

        public void deleteAirConditionInfo(DeviceAirConditionInfo delete) {
    
            DeviceAirConditionInfo aircondition = em.find(
                    DeviceAirConditionInfo.class, delete.getId());
            if (aircondition == null) {
                getStatusMessages().addFromResourceBundle(Severity.WARN,
                        "数据不存在或已被删除");
                return;
            }
            
            if (!checkDeleteWithPrompt("DeviceAirConditionInfo", delete.getId())) {
                return;
            }
     
    //        for (AnalogInputInfo info : aircondition.getAnalogairportOutPut()) {
    //            info.getAnalogairportOutPut().remove(aircondition);
    //            em.persist(info);
    //        }
            
    //        if (aircondition.getAnalogairportOutPut().size() > 0) {
    //            getStatusMessages().addFromResourceBundle(Severity.WARN,
    //                    "该空调记录已关联温湿度联动,不能删除!");
    //            return;
    //        }
    
    //        em.remove(aircondition);
    //        em.flush();
            
            stipulationUtilAction.delStipulation(aircondition.getId(),
                    "DeviceAirConditionInfo");
    
            loadserialAirConditionInfo(currSerialPortInfo);
    
            operateLogUtilAction.addSystemOperateInfo(10162L,
                    "[" + currDeviceInfo.getIpAddress() + "]" + "删除空调记录:"
                            + aircondition.getConditionname() + "操作成功!",
                    currDeviceInfo.getControlersn(),
                    currDeviceInfo.getControllername());
    
    //        getStatusMessages().addFromResourceBundle(Severity.INFO, "删除空调记录成功!");
        }

    自己做的映射关系表,删除时同时查询映射表,删除或取消有外键关联的其他表里的数据

     

    老的删除方式,把所多对一的关联数据判断一遍,存在数据的提示不能删除。

    (注:多对多关系不需要处理,hibernate删除对象的时候会自动处理多对多的关系,会删除中间表里的记录)

    把数据删除后,还需要在展示的列表中也删除这个对象,其实没有必要,下面有做重新获取列表的操作

     

     重新获取列表

     这个 delete from DeviceControlLog 时,airCondition字段有空值的情况,但是并不影响这句sql的执行

    //        List<Long> mainid = new ArrayList<>();
    //        mainid.add(20L);
    //        
    //        String sqldel = " delete from DeviceControlLog a where a.airCondition.id in :mainid ";
    //        
    //        Query querydel = em.createQuery(sqldel);
    //        querydel.setParameter("mainid", mainid);
    //        
    //        int count = querydel.executeUpdate();
    //        
    //        getStatusMessages().addFromResourceBundle(Severity.INFO,
    //                "删除 " + count + " 记录!");

  • 相关阅读:
    linux上TCP connection timeout的原因查找
    AC-BM算法原理与代码实现(模式匹配)
    URPF技术白皮书
    漫谈协同过滤推荐算法
    自己动手写一个推荐系统,推荐系统小结,推荐系统:总体介绍、推荐算法、性能比较, 漫谈“推荐系统”, 浅谈矩阵分解在推荐系统中的应用
    推荐系统的常用算法,选择,漫谈,推荐系统开源软件汇总
    MySQL索引原理及慢查询优化
    深入详解SQL中的Null
    《Gulp 入门指南》 : 使用 gulp 压缩 JS
    Process Explorer
  • 原文地址:https://www.cnblogs.com/LcxSummer/p/13131105.html
Copyright © 2011-2022 走看看