Запрос результатов Hibernate Limit - PullRequest
7 голосов
/ 07 мая 2011

Как работает свойство maxresult запроса hibernate? в приведенном ниже примере:

Query query = session.createQuery("from MyTable");
query.setMaxResults(10);

Получает ли это все строки из базы данных, но отображаются только 10 из них? или это то же самое, что limit в sql.

Ответы [ 2 ]

11 голосов
/ 07 мая 2011

Это то же самое, что и LIMIT, но оно не зависит от базы данных. Например, MS SQL Server не имеет LIMIT, поэтому hibernate позаботится о переводе этого. Для MySQL это добавляет LIMIT 10 к запросу.

Таким образом, всегда используйте query.setMaxResults(..) и query.setFirstResult(..) вместо собственных SQL-предложений.

0 голосов
/ 10 января 2014

SetMaxResults извлекает все строки и отображает количество установленных строк. В моем случае мне не удалось найти метод, который действительно может извлечь только ограниченное количество строк. Я рекомендую создать запрос самостоятельно и установить там «rownum» или «limit».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...