Java HIBERNATE在更新对象时抛出错误:“具有相同标识符值的不同对象已与会话关联”
更新对象时,无法更新上述错误Java HIBERNATE在更新对象时抛出错误:“具有相同标识符值的不同对象已与会话关联”,java,hibernate,session,Java,Hibernate,Session,更新对象时,无法更新上述错误 PublishedAssessmentData associatepublishobj = (PublishedAssessmentData) associatePublishedobjectdata.get(i); PublishedAssessmentData existing_publishobj = service.transferupdatedpublishedassessments(associatepublishob
PublishedAssessmentData associatepublishobj = (PublishedAssessmentData) associatePublishedobjectdata.get(i);
PublishedAssessmentData existing_publishobj = service.transferupdatedpublishedassessments(associatepublishobj,sbipublishobj);
openSession.saveOrUpdate(existing_publishobj);
唯一的原因可能是,您从Hibernate获取了对象,然后再次尝试保存或更新。 您以前在会话中保存了对象,现在正在尝试再次保存该对象
在对象关联或获得的会话上调用commit。@Arshad我正在提交会话中保存的任何对象,我认为问题不在于……@SanthoshKumar544如果对已关联会话的对象调用save,则提交时肯定会出现异常。顺便说一句,什么是异常类?@YahyaArshad在这种情况下,您可能会得到约束冲突异常,但不会得到上述异常。简单地说,多个不同对象ID、相同类型、具有相同ID PK的对象与您的会话相关联。因此,当您执行session.saveOrUpdateobj时,Hibernate无法决定应该保存/更新哪个对象。