Как это возможно, я должен следовать следующим критериям
Criteria criteria = getSession().createCriteria(c);
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
criteria.add(Restrictions.eq("active",true));
List list = criteria.list();
Размер списка теперь равен 20. Если я добавлю максимальные результаты к критериям,
Criteria criteria = getSession().createCriteria(c);
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
criteria.setMaxResults(90);
criteria.add(Restrictions.eq("active",true));
List list = criteria.list();
.. теперь размер списка составляет 18!
Я не понимаю, как размер результатов может быть меньше после определения максимальных результатов, так как количество строк меньше заданного max. Это похоже на ошибку, или есть еще некоторые странные аспекты спящего режима, о которых я не знаю?
Если вы ищете ответ на этот вопрос, обязательно прочитайте принятый ответ и его комментарии.