论坛首页 入门讨论版 Hibernate

多对多 中间表删除后再添加(更新)不能够更新

浏览 132 次
该帖已经被评为新手帖
作者 正文
时间:2008-04-23
学习了下hibernate的多对多,做了个例子
int customerid=ServletRequestUtils.getIntParameter(request, "id");
Customer customer=customerService.findUniqueBy("custormerid", customerid);

//重新构造移交后的业务员list
List<Employee> newempls=new ArrayList<Employee>();
String [] emplids=request.getParameterValues("itemlist");

customer.getEmployees().clear();

if(emplids!=null){
for (int i = 0; i < emplids.length; i++) {
Employee employee=employeeService.findUniqueBy("employeeid", Integer.parseInt(emplids[i]));
newempls.add(employee);
}
}

//清除原来的业务员list,附上新构造的list
customer.setEmployees(newempls);
customerService.merge(customer);

可是结果确实没有发生变化,中间表还是老样子,但是调试的时候,数据应该改变的都变了,merge就不行吗?用saveOrUpdate或者Update了就报错,a different object with the same identifier value was already associated with the session.
我感觉就是没有提交成功,真不知道哪出了错
   
时间:2008-06-20
也碰到了这个问题
   
0 请登录后投票
论坛首页 入门讨论版 Hibernate

跳转论坛:
JavaEye推荐