使用Hibernate实现修改操作时出现org.hibernate.NonUniqueObjectException

2025-06-28 00:28:52
推荐回答(3个)
回答1:

主键重复(如果是联合主键的话需要看一下你的equals方法重写的是否正确)
另外,你的代码需要修改一下(事务操作完成需要关闭)
public void update(SysUser user){
Transaction tx = session.beginTransaction();
try {
tx.begin();
session.update(user);
tx.commit();
}
catch (Exception e) {
tx.rollback();
e.printStackTrace();
}
finally
{
tx.rollback();
}
}

回答2:

Transaction tx = session.beginTransaction(); 和 tx.begin(); 实际上重复了, 只要一个就可以了。

回答3:

研究下