Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “在Hibernate中删除子对象时出现问题”;删除的对象将通过“级联”重新保存;_Java_Hibernate_Hibernate Annotations_Hibernate Cascade - Fatal编程技术网

Java “在Hibernate中删除子对象时出现问题”;删除的对象将通过“级联”重新保存;

Java “在Hibernate中删除子对象时出现问题”;删除的对象将通过“级联”重新保存;,java,hibernate,hibernate-annotations,hibernate-cascade,Java,Hibernate,Hibernate Annotations,Hibernate Cascade,我有以下两个实体: 1-交易 @OneToMany(cascade=CascadeType.ALL,mappedBy = "deal", fetch = FetchType.EAGER) @Fetch( FetchMode.SELECT) private List<DealCheckList> dealCheckList; 删除子对象时,即使用 ....... ....... transaction = session.beginTransaction(); Deal dea

我有以下两个实体:

1-交易

@OneToMany(cascade=CascadeType.ALL,mappedBy = "deal", fetch = FetchType.EAGER)
@Fetch( FetchMode.SELECT)
private List<DealCheckList> dealCheckList;
删除子对象时,即使用

.......
.......  
transaction = session.beginTransaction();

Deal deal = (Deal) session.createCriteria(Deal.class)
                          .add(Restrictions.eq("dealId",  dealId)).uniqueResult();         

for(DealCheckList checklist : deal.getDealCheckList()){                        
            session.delete(checklist);
 }
transaction.commit();
我得到下面的错误

Caused by: org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations):

请提供帮助。

您需要从清单中删除清单对象。 您的DealCheckList列表具有“cascade all”,因此,如果其中包含对象,将自动保存它


错误消息非常清楚,“从关联中删除已删除的对象”

同意。错误消息不会比这更清楚:)+1
Caused by: org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations):