/** * Sets the order by expression in descending order of createdAt column. */ default CriteriaQuery<T> lastCreated() { return orderBy(getEntityMapping().getFieldMappingByMetaName(ReservedMetaFieldName.CREATED_AT).getFieldName() + " desc"); }
/** * Sets the order by expression in descending order of updatedAt column. */ default CriteriaQuery<T> lastUpdated() { return orderBy(getEntityMapping().getFieldMappingByMetaName(ReservedMetaFieldName.UPDATED_AT).getFieldName() + " desc"); }
protected void applyOrderBy(CriteriaQuery query, OrderBy orderBy) { OrderBy.Item[] items = orderBy.items(); StringBuilder s = new StringBuilder(); for (int i = 0; i < items.length; i++) { if (i > 0) { s.append(','); } OrderBy.Item item = items[i]; String name = item.name(); MApiProperty ap = am.tryGetProperty(name); if (null == ap) { throw new BadRequestException("Property '" + name + "' not exists in model '" + am.getName() + "'"); } if (ap.isNotSortableExplicitly()) { throw new BadRequestException("Property '" + name + "' is not sortable!"); } if (Strings.isNotEmpty(query.alias())) { s.append(query.alias() + "." + name); } else { s.append(name); } if (!item.isAscending()) { s.append(" desc"); } } query.orderBy(s.toString()); }
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"); }