我有两个实体映射了一对多关系。我在数据库中持有两个对象,ID为1,2
具有相同的类型
方案1.我正在尝试删除带有getEntityManager.remove(object1)
的Id'1',显示
传递给分离的实体持久存在于Child实体中..找到了DB记录。
方案2.当我尝试使用getEntityManager.remove(object2)
删除Id'2'时删除记录2.
此异常仅发生在同时输入记录之前。
在我关闭并重新打开页面后,我将从Db中删除ID 1,2,并成功运行。
答案 0 :(得分:0)
com.manam.mobee.persist.entity.MobeeLabelTemplate#空
检查mobeeLabel.getMobeeLabelTemplates()
内的deleteLabel()
,确保他们拥有 ID 。
修改强> 的
您需要更新和删除对象中的ID。在删除mobeeLabel之前,执行findById然后将其删除。应该有一些未插入的mobeeLabelTemplates(或者没有更新 - ids与db不同步)。尝试这样的事情:
MobeeLabel freshMobeeToDelete = (MobeeLabel) getEntityManager().find(MobeeLabel.class, mobeeLabel.getId());
getEntityManager().remove(freshMobeeToDelete);