org.hibernate.PersistentObjectException:detached entity passed to persist出现这个异常了。。

异常信息:Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: com.xxx.Xxx

简单地说,发生此异常即是一个游离的对象要被持久化(save)时,其ID既要ORM框架为它生成ID值,而此实体的ID却已然有值。

解决的办法很多,笔者是为其实体做一个属性编辑器,在编辑器判断主键ID是否为空且长度是否为0,若是,则置入一个null。在保存前检查一下ID也是一种解决办法。

有时在一对一、一对多保存时,关联方也会存在这种情况,所以关键检查ID字段就可以了。

原文地址:https://www.cnblogs.com/hangaozu/p/5379809.html