@Instrument public static <T extends Model> T lastOrNull() { return (T)query().orderByIdDesc().firstOrNull(); }
@Instrument public static <T extends Model> T firstOrNull() { return (T)query().orderByIdAsc().firstOrNull(); }
@Override public AuthzSSOSession loadSessionByToken(String username, String token) { AuthzSSOSessionEntity session = null; if(null != loadSessionByTokenCommand) { session = dao.createQuery(AuthzSSOSessionEntity.class, loadSessionByTokenCommand).singleOrNull(); }else{ session = dao.createCriteriaQuery(AuthzSSOSessionEntity.class) .where("token = ? and user_name = ? and expiration > ?", new Object[]{token, username, new Date()}) .firstOrNull(); } if(null == session) { return null; } return createSessionFromEntity(session); }
@Override public AuthzSSOSession loadSessionByToken(String username, String token) { AuthzSSOSessionEntity session = null; if(null != loadSessionByTokenCommand) { session = dao.createQuery(AuthzSSOSessionEntity.class, loadSessionByTokenCommand).singleOrNull(); }else{ session = dao.createCriteriaQuery(AuthzSSOSessionEntity.class) .where("token = ? and user_name = ? and expiration > ?", new Object[]{token, username, new Date()}) .firstOrNull(); } if(null == session) { return null; } return createSessionFromEntity(session); }
protected Record queryOneRemoteTarget(Object id, QueryOptionsBase options) { String[] fields = Arrays.stream(rm.getJoinFields()) .map(joinField -> joinField.getLocalFieldName()) .toArray(String[]::new); Record record = dao.createCriteriaQuery(em).select(fields).whereById(id).firstOrNull(); if (null == record) { throw new BadRequestException("Record " + em.getEntityName() + "(" + id + ") not found"); } Object targetId = CrudUtils.getSingleOrMap(record, fields); if (null == targetId) { return null; } return iqe.queryOne(targetId, options).record; }
protected QueryListResult queryListEmbedded(Object id, QueryOptions options) { Record record = dao.createCriteriaQuery(em).whereById(id).select(rm.getEmbeddedFileName()).firstOrNull(); if (null == record) { throw new BadRequestException("Record " + em.getEntityName() + "(" + id + ") not found"); } Set<Object> embeddedIds = new HashSet<>(); iqe.calcIdsByEmbeddedField(embeddedIds, record, rm.getEmbeddedFileName()); if (embeddedIds.isEmpty()) { return QueryListResult.EMPTY; } return iqe.queryListByIds(embeddedIds, options); }
public Record queryOneByRelation(Object relatedId, QueryOptionsBase options) { CriteriaQuery<Record> query = createCriteriaQuery().joinById(rm.getTargetEntityName(), rm.getName(), "j", relatedId); Map<String, ModelAndMapping> joinedModels = New.hashMap("j", new ModelAndMapping(am, em)); applySelect(query, options, joinedModels); Record record = query.firstOrNull(); expandOne(record, options); return record; }
@Override public QueryOneResult queryOne(Object id, QueryOptionsBase options) { if (remoteRest) { RestResource restResource = restResourceFactory.createResource(dao.getOrmContext(), em); Record record = restResource.find(id, options); return new QueryOneResult(record); } ModelExecutionContext context = new DefaultModelExecutionContext(this.context); if (null != ex.handler) { ex.handler.processQueryOneOptions(context, id, options); } Record record; CriteriaQuery<Record> query = createCriteriaQuery().whereById(id); applySelect(query, options, new HashMap<>()); ex.preQueryOne(context, id, query); if (null != ex.handler) { ex.handler.preQueryOne(context, id, query); } record = query.firstOrNull(); expandOne(record, options); if (null != ex.handler && null != record) { ex.handler.postQueryOne(context, id, record); } Object entity = ex.processQueryOneRecord(context, id, record); return new QueryOneResult(record, entity); }
record.put(rp.getName(), expandQuery.firstOrNull());