Использование Rownum и OrderBy в HQL - PullRequest
1 голос
/ 06 декабря 2011

Я пытаюсь использовать RowNum с Orderby в моем HQL.Базовая база данных - Oracle.Как и ожидалось, Rownum выполняется до упорядочения (что мне не нужно).

В SQL это можно сделать с помощью Subselect в предложении from, но как мне добиться этого в HQL, не влияя на производительность.Также HQL не допускает подзапросы в предложении from.Попробовал:

setFirstResult(resultsetLimit)
setMaxResults(resultsetLimit)
setFetchSize(resultsetLimit) 

, и это ужасно замедляет работу.

Я не эксперт по Hibernate, поэтому, пожалуйста, извините, если я что-то упускаю или делаю что-то серьезное.Также на данный момент у меня нет выбора, кроме как использовать HQL.

1 Ответ

1 голос
/ 06 декабря 2011

HQL поддерживает подвыборы и подзапросы.

For databases that support subselects, Hibernate supports subqueries within queries. A subquery must be surrounded by parentheses (often by an SQL aggregate function call). Even correlated subqueries (subqueries that refer to an alias in the outer query) are allowed.

Как сказано в документации сообщества здесь .

...