Вот как вы можете создать запрос критерия гибернации, который возвращает первые 10 строк в порядке убывания:
Critieria crit = session.createCriteria(Employee.class);
crit.addOrder(Order.desc("empno");
crit.setMaxResults(10);
List<Employee> emps = crit.list();
Имейте в виду, что при этом сотрудники будут возвращаться в порядке убывания на основе empno
, поэтому он возвращает набор результатов empno, например 20,19, ... 11. Это то, что он должен делать, независимо от базовой базы данных, и, насколько я могу судить, то, что вы просили.
Дайте мне знать, если вы действительно хотите, чтобы это было 10,9, ... 1 (что технически не первые 10 строк в порядке убывания).
Edit:
Если вы хотите, чтобы это было 10,9, ... 1 Я бы лично изменил критерии сортировки в порядке возрастания. Порядок будет 1 ..., 9,10, но эффект тот же:
crit.addOrder(Order.asc("empno"));
Если вы действительно хотите, чтобы оно было 10,9, ... 1, вы можете добавить следующее, хотя оно становится все более зависимым от имеющихся у вас данных. Все зависит от того, что вы пытаетесь сделать с данными, но это должно привести вас на правильный путь.
Critieria crit = session.createCriteria(Employee.class);
crit.addOrder(Order.desc("empno");
crit.setFirstResult(10);
crit.setMaxResults(10);
List<Employee> emps = crit.list();