在Hibernate的session中同时有两个相同id的同类型对象,修改失败

若在Hibernate的session中同时有两个相同id的同类型对象,修改会失败,报错:a different object with the same identifier value was already

解决方案:

使用merge()

如下情景:

User u = dao.getUser(...) ;

User u2 = ... ;

u2.setId(u.getId()) ; //此时的session中就有了两个id一样的对象了,

dao.update(u2) ; //这里就会报错了,

dao.merge(u2) ; //这样就行了

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。