Я только что установил привязку идентификаторов из своих веб-форм с использованием Spring PropertyEditors и заметил, что записи 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;
}
В любом случае, я могу получить привязку к работе с спящим режимом? Я бы хотел, чтобы изменения в менеджере включались в форму submit.