这个错误产生原因相信大家都知道,因为在hibernate中同一个session里面有了两个相同标识但是不同的实体.
一开始按网上说的用session.merge(Object)报了一个错,可能是没有用好,改用 session.clear(); session.update(user);
这样就OK了,方法为:
public void updateUser(User user) {
Session session = this.getHibernateTemplate().getSessionFactory()
.getCurrentSession();
session.clear();
session.update(user);
}
本文介绍了解决Hibernate中因同一session内存在标识相同但实体不同的问题而导致的更新冲突的方法。通过使用session.clear()清空会话并结合session.update(user)来更新用户实体,成功解决了这一常见问题。
2287

被折叠的 条评论
为什么被折叠?



