0
我刚刚使用spring PropertyEditors从我的web表单中设置了id的绑定,并注意到M:M记录正在被删除并重新插入。起初我以为这是因为我使用CustomCollectionEditor而发生的,但UserEditor也是如此。hibernate @ManyToMany删除并重新插入
我的域对象都具有使用主键的equals/hashcode方法,如果对象尚未保存,则ref。
Hibernate: update delivery_team set name=? where id=?
Hibernate: delete from delivery_team_manager where delivery_team_id=?
Hibernate: delete from delivery_team_resource where delivery_team_id=?
Hibernate: insert into delivery_team_manager (delivery_team_id, user_id) values (?, ?)
Hibernate: insert into delivery_team_manager (delivery_team_id, user_id) values (?, ?)
Hibernate: insert into delivery_team_manager (delivery_team_id, user_id) values (?, ?)
Hibernate: insert into delivery_team_manager (delivery_team_id, user_id) values (?, ?)
我试着添加一个管理器,使用单独的回发和记录不被删除。所以这显然不是休眠问题。
@RequestMapping(value = "add_manager/{teamid}/{uid}", method = RequestMethod.GET)
public String addManager(@PathVariable Long teamid, @PathVariable Long uid, Model model) {
DeliveryTeam team = deliveryTeamService.getById(teamid);
User user = userService.loadUserById(uid, false);
team.getManager().add(user);
deliveryTeamService.save(team);
return "redirect:/delivery_team/update/" + teamid;
}
任何方式我可以得到绑定工作与休眠的好?我喜欢将经理更改包含在表单提交中。