This is situation I have:
I have two entities with one-to-many relationship mapped like that (only relevant parts are given):
<class name="xyz.Survey">
<list name="answers" inverse="true" lazy="true" fetch="select"
cascade="all-delete-orphan">
<key column="OPA_OP_ID" not-null="true" />
<list-index column="OPA_SORT_ORDER" />
<one-to-many class="xyz.Answer" />
</list>
</class>
<class name="xyz.Answer">
<many-to-one name="survey" class="xyz.Survey" fetch="select">
<column name="OPA_OP_ID" not-null="true" />
</many-to-one>
there is no mapping for column OPA_SORT_ORDER, I let Hibernate take care of that
</class>
My question is: I want to perform HQL query on the answers for single survey and I want those answers sorted by OPA_SORT_ORDER. This query doesn't work like that:
select new AnswerDTO(a.id, a.answerText, 0) from Survey p join p.answers a where p.id = ?
In log I can see that there is no ORDER BY in SQL query generated by this HQL. How can I do this? Do I need to add sortOrder property to Answer entity?