Hibernate 使用hql休眠删除

Hibernate 使用hql休眠删除,hibernate,hql-delete,Hibernate,Hql Delete,我在hibernate中有以下映射: <class name="com.foo.bulk_delete.test3.lim.bl.pom.impl.P4" table="P4_BDELETE"> <list lazy="false" fetch="select" batch-size="25" name="strings" table="L_st_49eea" > <key> <column nam

我在hibernate中有以下映射:

    <class name="com.foo.bulk_delete.test3.lim.bl.pom.impl.P4" table="P4_BDELETE">
    <list lazy="false" fetch="select" batch-size="25" name="strings" table="L_st_49eea" >
        <key>
            <column name="f_oid$1" index="I_oid$_49eea" sql-type="char(35)"/>
        </key>
        <index column="s_idx$"/>
        <element type="VarcharStringType">
            <column name="s_elem$_5eb03"  length="512"/>
        </element>
    </list>
</class>

但很明显,我有一个约束冲突异常,因为我需要删除内部的“L_st_49eea”表,但我不知道如何在hql中执行该操作。

您不能单独通过hql执行此操作。。您必须先删除引用的实体,然后删除父实体。
我建议使用delete cascade和外键约束,然后您可以通过父级上的简单HQL进行删除

delete from com.foo.bulk_delete.test3.lim.bl.pom.impl.P4 p4