您的位置:首页 > 编程语言 > Java开发

异常:java.lang.IllegalArgumentException: Removing a detached instance

2009-10-10 21:00 591 查看
异常:java.lang.IllegalArgumentException: Removing a detached instance 的解决办法java.lang.IllegalArgumentException: Removing a detached instance 的解决办法
方法一: 

这是因为试图删除一个已经死亡的实例引起的,我的删除代码是这么写的

public void delete(Book o) { this.getJpaTemplate().remove(o); }

改成下面的样子就行了,也就是先merge,再删除

public void delete(Book o) { Book book = getJpaTemplate().merge(o); getJpaTemplate().remove(book); }

这样改过之后,问题就解决了。

类似的问题也存在与更新方法

public void save(Book o) { Book book = this.getJpaTemplate().merge(o); this.getJpaTemplate().persist(book); }
方法二:\
删除前先UPDATE 一下
方法三:
protected EntityManager em; 
public void clearData() { em.flush(); em.clear(); }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐