У меня следующая проблема: я хочу получить родительский элемент от ребенка с помощью 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>
Child.hbm.xml
<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
Я вижу, что таблица, сгенерированная для дочернего элемента, содержит столбец parentUuid, поэтому мой вопрос: как мне это сделать в HQL?Можно ли использовать внешний ключ в HQL?