@Override public List<V> findAll(int start, int max) { CriteriaBuilder<E> cb = createCriteriaBuilder().orderByAsc(idAttribute()); String[] fetches = getFetches(); if (fetches.length != 0) { cb.fetch(fetches); } TypedQuery<V> query; if (viewClass() == null) { query = (TypedQuery<V>) cb.getQuery(); } else { EntityViewSetting<V, PaginatedCriteriaBuilder<V>> setting = EntityViewSetting.create(viewClass(), start, max); query = applySetting(setting, cb) .getQuery(); } applyQueryHints(query, fetches.length == 0); return query.getResultList(); }
if (entityViewClass == null) { if (withCount) { jpaQuery = (TypedQuery<Object>) cb.page(firstResult, maxResults).withCountQuery(true).getQuery(); } else { jpaQuery = (TypedQuery<Object>) cb.page(firstResult, maxResults + 1).withHighestKeysetOffset(1).withCountQuery(false).getQuery(); EntityViewSetting<?, ?> setting = EntityViewSetting.create(entityViewClass, firstResult, maxResults); setting = processSetting(setting, values); jpaQuery = (TypedQuery<Object>) ((PaginatedCriteriaBuilder<?>) evm.applySetting(setting, cb)).withCountQuery(true).getQuery(); } else { EntityViewSetting<?, ?> setting = EntityViewSetting.create(entityViewClass, firstResult, maxResults + 1); setting = processSetting(setting, values); jpaQuery = (TypedQuery<Object>) ((PaginatedCriteriaBuilder<?>) evm.applySetting(setting, cb)).withHighestKeysetOffset(1).withCountQuery(false).getQuery();
if (entityViewClass == null) { if (withCount) { jpaQuery = (TypedQuery<Object>) cb.page(firstResult, maxResults).withCountQuery(true).getQuery(); } else { jpaQuery = (TypedQuery<Object>) cb.page(firstResult, maxResults + 1).withHighestKeysetOffset(1).withCountQuery(false).getQuery(); EntityViewSetting<?, ?> setting = EntityViewSetting.create(entityViewClass, firstResult, maxResults); setting = processSetting(setting, values); jpaQuery = (TypedQuery<Object>) ((PaginatedCriteriaBuilder<?>) evm.applySetting(setting, cb)).withCountQuery(true).getQuery(); } else { EntityViewSetting<?, ?> setting = EntityViewSetting.create(entityViewClass, firstResult, maxResults + 1); setting = processSetting(setting, values); jpaQuery = (TypedQuery<Object>) ((PaginatedCriteriaBuilder<?>) evm.applySetting(setting, cb)).withHighestKeysetOffset(1).withCountQuery(false).getQuery();
if (viewClass() == null) { if (start > 0 || max > 0) { query = (TypedQuery<V>) cb.page(start, max).getQuery(); } else { query = (TypedQuery<V>) cb.getQuery();