У меня есть класс, который возвращает все объекты в запросе, ограниченные максимальным и мин:Hibernate в `не setFirstResult` работает
@SuppressWarnings("unchecked")
public static <E> List<E> getAll(Class<E> klass, Integer startAt) {
startAt = (startAt == null) ? 0 : startAt;
int endAt = startAt + Constant.API_MAX_RESULTS;
return (List<E>) HibernateUtil.getCurrentSession()
.createCriteria(klass)
.setFirstResult(startAt)
.setMaxResults(endAt)
.list();
}
Где Constant.API_MAX_RESULTS
является 100
. Так, например, если я хочу, 100-199 генов, я буду называть:
getAll(Gene.class, 100);
Если я печатаю startAt
и endAt
, я правильно вижу 100
и 200
, но то, что я на самом деле получить возвращенное 0-199 включительно гены.
Когда я настроить Hibernate для отображения SQL, я вижу это:
select this_.id as id8_0_, ... from gene this_ limit ?, ?
Если значения будут установлены на limit
? Почему не работает нижняя граница?
предела 100,200 вернут вам 200 записей не 100. Может быть путаница происходит из этого факта. – Franck