Criteria API возвращает слишком маленький набор результатов

Как это возможно, я должен по следующим критериям

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!

Я не понимаю, как размер наборов результатов может быть меньше после определения максимального результата, так как количество строк меньше, чем определенный максимум. Это похоже на ошибку или есть какие-то странные аспекты гибернации, о которых я не знаю?

Если вы ищете ответ на этот вопрос, обязательно прочитайте принятый ответ и его комментарии.

Ответы на вопрос(5)

Ваш ответ на вопрос