只是举例来用:主单:Order,详单:Item,主单拥有详单的Set集合,详单拥有主单的对象
Set集合cascade="all",inverse="false"
在Action里面的代码
Order o = this.orderService.get(Order.class, id);  // 通过主键获取主单
o.getItems().removeAll(o.getItems());  // 把主单的Set集合清空
for(int i = 0; i < list.size(); i++)  // 循环页面传来的的List<Item>集合
{
  o.getItems().add(list[i]);  // 加入到主单的Set集合中
}
this.orderService.saveOrUpdate(o);  // 底层用的也是saveOrUpdate()方法思路:
更新页面…页面有主单信息和所对应的详单信息…都可以修改
我是先把这个主单原来的所有详单删掉,然后在把修改页面的详单加入进去,这种做法问题:程序运行结果是把修改页面的详单insert到数据库,把主单原来的详单只是把对应的外键更新为了null
也就是
insert item ...
insert item ...
insert item ...
update item set order_id=? where id=?
update item set order_id=? where id=?
update item set order_id=? where id=?
update item set order_id=null where id=?
update item set order_id=null where id=?
update item set order_id=null where id=?我想要的结果应该是delete掉原有的详单