这个错误产生原因相信大家都知道,因为在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);
}