org.hibernate.NonUniqueObjectException: A different object with the same ide

错误提示:是说主键不唯一,在事务的最后执行SQL时,session缓存里面有多个主键一样的对象。

情形:今天在做密码修改环节,因为是根据用户名去查原来的密码,这时候我new了一个user1对象。后来需要保存修改后的密码,为了方便Dao层的操作,我希望传到Dao中的是一个对象,进行更新密码,所以又new了一个user2对象,由于user2需要用到user1里面的其他字段,包括了id,就出现了上面的错误。其实这就是hibernate的session缓存的问题,解决方法当然就是去掉user2,直接把user1改好字段再传到Dao中进行操作就行了。

posted @ 2018-03-01 15:36  微尘chq  阅读(3473)  评论(0编辑  收藏  举报