detached entity passed to persist

今天更新一篇文章时发生如下的错误提示

detached entity passed to persist

org.springframework.dao.InvalidDataAccessApiUsageException: detached entity passed to persist: springMVC.NLoveB.po.Term_taxonomy; nested exception is org.hibernate.PersistentObjectException: detached entity passed to persist: springMVC.NLoveB.po.Term_taxonomy
	at org.springframework.orm.hibernate4.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:187)
	at org.springframework.orm.hibernate4.HibernateTemplate.doExecute(HibernateTemplate.java:343)
	at org.springframework.orm.hibernate4.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:308)
	at org.springframework.orm.hibernate4.HibernateTemplate.update(HibernateTemplate.java:644)
	at org.springframework.orm.hibernate4.HibernateTemplate.update(HibernateTemplate.java:639)
	at springMVC.NLoveB.dao.impl.DaotermsImpl.updaterelationships(DaotermsImpl.java:177)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)

出现这个问题,首先我们第一想到的就是更新这个实体的时候,id出现了问题

我这里是采用的hibernate框架来更新的一篇文章

hibernate是ORM框架,通常会按照我们事先定义好的规则去更新一个id

请看如下代码片段

public class Term_relationships {
    private Posts objectid;		//文章id
    private Term_taxonomy taxonomyid;		//分类方法id manytoone  Term_taxonomy
    private int order;			//排序
	  
    //省略其他
}

我这里的objectid和taxonomyid均是id

我更新这个表时,只对taxonomyid进行了赋值,对objectid没有赋值,而objectid是由另一个表决定,因此这里是空

所以如果单单只更新这个表就会出现问题

我这里出现的错误提示

detached entity passed to persist

就是因为这个原因。

将两个id赋值就好


爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img