jpa remove
直接使用em.remove会报错,IllegalArgumentException: Removing a detached instance
即对象处于脱管的状态,使用merge使之被session管理
改写方法如下,
@Override
public void delete(En en) {
em.remove(em.contains(en)?en:em.merge(en));
}
当然也可以只是用merge而不用三元运算符。
但是会导致重新查询一遍再删除。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步