protected void init() { log.info("Finding the max value of field '{}' at entity '{}'...", fm.getFieldName(), em.getEntityName()); Object maxValue = dao.createCriteriaQuery(em) .select(fm.getFieldName()) .limit(1) .orderBy(fm.getFieldName() + " desc") .scalarValueOrNull(); log.info("Max value : {}", maxValue); if(null != maxValue) { this.maxValue = maxValue; } changesQuery = dao.createCriteriaQuery(em, resultClass) .where(fm.getFieldName() + " > :maxValue") .limit(limit) .orderBy(fm.getFieldName() + " asc"); }