本文主要是介绍java.lang.IllegalArgumentException: Removing a detached instance com.sy.proj.pojo.IrrMActiveNewData#,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这是springboot删除:
需要先this.getSession().merge(obj)一下,返回的结果之后再this.getSession().delete(obj)
折腾了好久都说用 JPA 查出来的对象传递到方法之外去的话,这个对象成为游离状态
em.remove 应该是受脱管的对象;
然后用下边这种方式就可以:我这是根据我的项目 修改的你们自己看着改下
一种方式:
this.getSession().delete(this.getSession().merge(obj));
大概意思就是:
在删除之前把这个Detached instance绑定到当前的Sesssion,在用当前Sesssion删除此instance。getEntityManager()提供merge方法实现
另一种方式:
public void delete(Unit persistentInstance) {
try {
getEntityManager().remove(getEntityManager().merge(persistentInstance));
} catch (RuntimeException re) {
throw re;
}
}
这篇关于java.lang.IllegalArgumentException: Removing a detached instance com.sy.proj.pojo.IrrMActiveNewData#的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!