/** * Sets the order by expression in descending order of updatedAt column. */ default CriteriaQuery<T> lastUpdated() { return orderBy(getEntityMapping().getFieldMappingByMetaName(ReservedMetaFieldName.UPDATED_AT).getFieldName() + " desc"); }
/** * Sets the order by expression in descending order of createdAt column. */ default CriteriaQuery<T> lastCreated() { return orderBy(getEntityMapping().getFieldMappingByMetaName(ReservedMetaFieldName.CREATED_AT).getFieldName() + " desc"); }
protected void applySelect(CriteriaQuery query, String select) { if (Strings.equals("*", select)) { return; } EntityMapping em = query.getEntityMapping(); String[] names = Strings.split(select, ','); List<String> fields = new ArrayList<>(); for (String name : names) { FieldMapping p = em.tryGetFieldMapping(name); if (null == p) { throw new BadRequestException("Property '" + name + "' not exists, check the 'select' query param"); } fields.add(p.getFieldName()); } if (null != excludedFields) { for (String name : excludedFields) { fields.remove(name); } } query.select(fields.toArray(new String[fields.size()])); }
EntityMapping em = query.getEntityMapping();
@Override public CriteriaWhere<T> id(Object id) { EntityMapping em = q.getEntityMapping(); if(em.getKeyFieldNames().length == 1) { return name(em.getKeyFieldNames()[0]).eq(id); } if(em.getKeyFieldNames().length > 0) { Params params = c.getParameterStrategy().createIdParameters(c, em, id); for(int i=0;i<em.getKeyFieldNames().length;i++) { if(i > 0) { and(); } String name = em.getKeyFieldNames()[i]; name(em.getKeyFieldNames()[i]).eq(params.get(name)); } return this; } throw new IllegalStateException("No id column(s) in entity '" + em.getEntityName() + "'"); }