解决hibernate删除时的异常 deleted object would be re-saved by cascade (remove deleted object from associa

来源:互联网 发布:class转java 编辑:程序博客网 时间:2024/06/10 04:13

for (Userrole userrole : olduserrolelist) {
userrole.getRole().getUserroles().remove(userrole);
userrole.getUser().getUserroles().remove(userrole);
userrole.setRole(null);
userrole.setUser(null);
userroleDAO.delete(userrole);
}

order = (Order) session.get(Order.class,2);
order.getCustormer().getOrders().remove(order);
order.setCustormer(null);  
session.delete(order);

 order是多的那一方,如果要删除一个order对象,直接调用session.delete()方法肯定就会报头那个对象
为了解决这个问题,就可以先得到与该order对象对应的一的那一方(即customer对象),然后先将该order对象从customer对象中删除,并且将该order对象的customer对象设置为null,这样再执行删除时就不会出现那个异常了

原创粉丝点击