Hibernate不更新SessionAttribute参数。
我填充了一个实体对象,并将其放在SessionAttribute中,名称为 editGroup 。我在jsp页面上更改了它并发送到控制器。在控制器中,我只需调用service方法并从session( 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甚至不发送请求。请帮帮我。
答案 0 :(得分:0)
我在问题上找到了答案。
我在弹簧配置中有<tx:annotation-driven/>
。在此指定了transaction-manager参数后,程序正常运行。
<tx:annotation-driven transaction-manager="transactionManager"/>