今天用SSH框架写点东西就曝出这个错误
出现问题的代码块是这样的
/** 修改 */ public String edit() throws Exception { // 从数据库中取出对象 Forum forum = forumService.getById(model.getId()); // 设置要修改的属性 forum.setName(model.getName()); forum.setDescription(model.getDescription()); // 更新到数据库 forumService.update(model); return "toList"; }
就是说登录后在修改时session中存在两个标识相同的实体
把前面的代码注释掉
/** 修改 */ public String edit() throws Exception { // 从数据库中取出对象 // Forum forum = forumService.getById(model.getId()); // // 设置要修改的属性 // forum.setName(model.getName()); // forum.setDescription(model.getDescription()); // 更新到数据库 forumService.update(model); return "toList"; }
可以了!
基本类中涉及到更新操作:
protected Session getSession() {
return sessionFactory.getCurrentSession();
}
public void update(T entity) {
getSession().update(entity);
}
这个应该是缓存的问题,会话没有及时更新
版权声明:本文为博主原创文章,未经博主允许不得转载。如需转载,请注明出处:http://blog.csdn.net/lindonglian
时间: 2024-10-03 10:24:40