Hibernate HQL从子级获取父级,子级不知道父级

Hibernate HQL从子级获取父级,子级不知道父级,hibernate,hql,parent,Hibernate,Hql,Parent,我有以下问题:我想通过HQL从一个子系统中检索父系统 Parent.hbm.xml <hibernate-mapping> <class name="Parent" table="Parent"> <id name="uuid" type="java.lang.String" unsaved-value="null" access="field"> <column name="uuid" not-null="true" />

我有以下问题:我想通过HQL从一个子系统中检索父系统

Parent.hbm.xml

<hibernate-mapping>
<class name="Parent" table="Parent">
    <id name="uuid" type="java.lang.String" unsaved-value="null" access="field">
        <column name="uuid" not-null="true" />
        <generator class="org.hibernate.id.UUIDGenerator" />
    </id>

    <list name="events" table="ParentToChild" cascade="all-delete-orphan" lazy="false">
        <key column="parentUuid" />
        <index column="idx" />
        <one-to-many class="Child" />
    </list>

</class>

<query name="findParentByChild">
    <![CDATA[
         select p from Parent as p, Child as c where c.uuid = :uuid and p.uuid = c.parentUuid 
         ]]>
</query>
</hibernate-mapping>
<hibernate-mapping>
<class name="Child" table="Child">

    <id name="uuid" type="java.lang.String" access="field">
        <column name="uuid" not-null="true" />
        <generator class="org.hibernate.id.UUIDGenerator" />
    </id>

    <other properties..>
    </class>
 </hibernate-mapping

Child.hbm.xml

<hibernate-mapping>
<class name="Parent" table="Parent">
    <id name="uuid" type="java.lang.String" unsaved-value="null" access="field">
        <column name="uuid" not-null="true" />
        <generator class="org.hibernate.id.UUIDGenerator" />
    </id>

    <list name="events" table="ParentToChild" cascade="all-delete-orphan" lazy="false">
        <key column="parentUuid" />
        <index column="idx" />
        <one-to-many class="Child" />
    </list>

</class>

<query name="findParentByChild">
    <![CDATA[
         select p from Parent as p, Child as c where c.uuid = :uuid and p.uuid = c.parentUuid 
         ]]>
</query>
</hibernate-mapping>
<hibernate-mapping>
<class name="Child" table="Child">

    <id name="uuid" type="java.lang.String" access="field">
        <column name="uuid" not-null="true" />
        <generator class="org.hibernate.id.UUIDGenerator" />
    </id>

    <other properties..>
    </class>
 </hibernate-mapping

您可以使用“加入”:

select p Parent from Parent p join p.events c where c.uuid = :uuid