Hibernate 级联删除是通过所有关联工作,还是仅通过直接关联工作?

Hibernate 级联删除是通过所有关联工作,还是仅通过直接关联工作?,hibernate,jpa,Hibernate,Jpa,在我的项目模式中,我有一个由3@OneToMany映射组成的链,这些映射组合了4个类。如果我只将顶层映射设置为cascade,那么会删除所有4个类中的cascade吗?还是我必须专门将所有映射设置为cascade 类似地,如果我使用左连接获取来获取顶级数据,以获取第二级数据,那么我是否也会接收其他2个映射类,或者我是否需要编写三重连接获取 我将Hibernate与JPA注释一起使用。您可以在注释中配置级联/获取行为。例如: @OneToMany(cascade={CascadeType.ALL}

在我的项目模式中,我有一个由3@OneToMany映射组成的链,这些映射组合了4个类。如果我只将顶层映射设置为cascade,那么会删除所有4个类中的cascade吗?还是我必须专门将所有映射设置为cascade

类似地,如果我使用左连接获取来获取顶级数据,以获取第二级数据,那么我是否也会接收其他2个映射类,或者我是否需要编写三重连接获取


我将Hibernate与JPA注释一起使用。

您可以在注释中配置级联/获取行为。例如:

@OneToMany(cascade={CascadeType.ALL}, fetch=FetchType.LAZY)
您应该在所有类中设置级联删除。 您不需要“三重连接获取”,只需一次获取即可获得数据