Java 多级连接关系时,hibernate中的孤立项删除不起作用

Java 多级连接关系时,hibernate中的孤立项删除不起作用,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,我有一个具有多级连接关系的表结构,比如父级与子级有一对多关系,子级与子级有一对多关系。我将所有oneToMany连接的属性设置为true @实体 @表(name=“parent”) 公共类父类{ //其他列、getter和setter @OneToMany(fetch=FetchType.EAGER,orphan=true) @Fetch(值=FetchMode.SUBSELECT) @级联({CascadeType.SAVE_UPDATE,CascadeType.ALL}) @JoinColu

我有一个具有多级连接关系的表结构,比如父级与子级有一对多关系,子级与子级有一对多关系。我将所有oneToMany连接的属性设置为true

@实体
@表(name=“parent”)
公共类父类{
//其他列、getter和setter
@OneToMany(fetch=FetchType.EAGER,orphan=true)
@Fetch(值=FetchMode.SUBSELECT)
@级联({CascadeType.SAVE_UPDATE,CascadeType.ALL})
@JoinColumn(name=“RefId”,referencedColumnName=“id”)
私人名单儿童;
}
@实体
@表(name=“child”)
公营儿童{
//其他列、getter和setter
@OneToMany(fetch=FetchType.EAGER,orphan=true)
@Fetch(值=FetchMode.SUBSELECT)
@级联({CascadeType.SAVE_UPDATE,CascadeType.ALL})
@JoinColumn(name=“RefId”,referencedColumnName=“id”)
私人名单儿童2;
}
@实体
@表(name=“childl2”)
公营儿童2{
//其他列、getter和setter
}
但是,当我尝试用以下代码删除“parent”时,“child”的对应行被成功删除。但是相关的“childl2”行仍然存在

Parent tempObj=new Parent();
tempObj.setId(36790);
删除(临时议程);
Q:1我需要知道hibernate属性是否能够处理多层次的一对多连接关系

Q2当我尝试使用
CriteriaQuery.list()
按id加载时,会消耗大量时间。我需要知道是否有任何方法可以在不改变FetchType.Lazy的情况下对其进行优化

Criteria queryCriteria=session.createCriteria(Parent.class);
添加(Restrictions.eq(“Id”,36795));
List dataList=queryCriteria.List();

提前感谢。

您的tempObj不是由hibernate会话管理的。。Q1-是的。问题2-请提供完整代码