`

基本信息修改功能提交时报NonUniqueObjectException

阅读更多
        Spring MVC + Hibernate,用户修改基本信息的流程如下:

        在controller中的editInfo方法中加载User对象,对象传递到页面在表单中显示,用户修改数据后提交到controller的doEditInfo方法,doEditInfo中重新获取对象并修改对应属性调用session的saveorupdate方法保存修改。

 

        在执行saveorupdate时报异常如下:

org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [cn.xxx.model.User#239433]
	at org.hibernate.engine.internal.StatefulPersistenceContext.checkUniqueness(StatefulPersistenceContext.java:697)
	at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performUpdate(DefaultSaveOrUpdateEventListener.java:296)
	at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:241)
	at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:109)
	at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
	at org.hibernate.internal.SessionImpl.fireSaveOrUpdate(SessionImpl.java:735)
	at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:727)
	at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:723)
......................................

 

 

参考:http://blog.csdn.net/yezaishu/article/details/1879372

将saveorupdate改为merge,问题解决!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics