Hibernate не обновляет параметр SessionAttribute.Hibernate и @SessionAttribute
Я заполнил объект сущности и поместил его в SessionAttribute с именем editGroup. Я изменил его на странице jsp и отправил на контроллер. В контроллере я просто вызываю метод службы и передаю ему объект из сеанса (editGroup). Но объект объекта не обновляется.
Контроллер
@Controller
@SessionAttributes(value = "editGroup")
@RequestMapping(value = "/group")
public class GroupController {
...
@RequestMapping(value = "/{id}/edit", method = RequestMethod.GET)
public String groupEdit(@PathVariable Long id, Model model) {
if (!model.containsAttribute("editGroup")) {
model.addAttribute("editGroup", groupService.findGroup(id));
}
return "group/editGroup";
}
@RequestMapping(value = "/{id}/update", method = RequestMethod.POST)
public String groupUpdate(@ModelAttribute("editGroup") Group editGroup,
@PathVariable Long id, SessionStatus status) {
groupService.updateGroup(editGroup);
status.setComplete();
return "redirect:/group/" + id;
}
}
Сервис@Transactional
public void updateGroup(Group obj) {
groupDAO.update(group);
}
DAO
public void update(T obj) {
getSession().merge(obj);
}
Hibernate даже не отправляет запрос. Помоги мне, пожалуйста.
Убедитесь, что ваша служба транзакционный, без сделки ничего не попадает в базу данных. –
@M. Deinum, Service является транзакционным. Я обновил сообщение. – Lancaster
Существует аннотация @ @ Transactional, которая не делает транзакцию. Если у вас нет ' ', он ничего не делает или если вы сканируете тот же компонент дважды, он ничего не делает. –