У меня сложный HQL-запрос.
Я хотел бы получить доступ к специфичному для Oracle значению столбца rownum как часть возвращаемых результатов. Как написать свой запрос (и/или изменить файл hbm.xml) для поддержки этого?
То, что я пробовал до сих пор, не работает:
изменение моего hbm.xml
<property name="rownum" type="int" update="false" insert="false" generated="never"/>
и такой запрос, как:
"select dog.rownum from Dog as dog where ..."
Но я получаю java.sql.SQLException: ORA-01747: недопустимая спецификация user.table.column, table.column или столбца
Я подозреваю, что мне может понадобиться смешать некоторый sql с моим сложным запросом hql... предложения приветствуются. Спасибо.
Немного фона:
- http://ronfrancis.wordpress.com/2007/10/16/dont-forget-an-order-by-for-pagination-queries/
- hibernate использует rownum оракула «под капотом» для разбиения результатов на страницы.