hibernate批量删除

来源:互联网 发布:ubuntu apt安装路径 编辑:程序博客网 时间:2024/05/18 01:18

这两天做一个删除,但是记录多的时候处理得很慢。仔细检查一下代码发现 方法有问题

        String[] strs = user_ids.split(",");        if (strs != null && !"".equals(strs)) {            for (int i = 0; i < strs.length; i++) {                if (strs[i] != null && !"".equals(strs[i])) {                    strs[i] = strs[i].trim();                        SysUser sur = (SysUser) this.sysUserService.findById(SysUser.class, new Long(strs[i]));                        this.sysUserService.delete(sur);                }            }        }


 hibernate删除的是持久化状态的实体,上面的代码先根据id查出再去删除,如此循环数多的时候,就会消耗大量的时间。因此换了一个方法省去查询这一步

 String[] strs = menu_ids.split(",");if(strs.length>0) {   List<SubShip> list = new ArrayList<SubShip>();for(int i=0; i<strs.length; i++) {SubShip delSubShip = new SubShip();delSubShip.setId(Integer.parseInt(strs[i]));list.add(delSubShip);}   subShipService.deleteSubShips(list);}


 

原创粉丝点击