/** * Appends the Id property to the OrderBy clause if it is not believed * to be already contained in the order by. * <p> * This is primarily used for paging queries to ensure that an order by clause is provided and that the order by * provides unique ordering of the rows (so that the paging is predicable). * </p> */ public void appendOrderById(SpiQuery<T> query) { if (idProperty != null && !idProperty.isEmbedded()) { OrderBy<T> orderBy = query.getOrderBy(); if (orderBy == null || orderBy.isEmpty()) { RawSql rawSql = query.getRawSql(); if (rawSql != null) { query.order(rawSql.getSql().getOrderBy()); } query.order().asc(idProperty.getName()); } else if (!orderBy.containsProperty(idProperty.getName())) { query.order().asc(idProperty.getName()); } } }
private String getOrderBy(CQueryPredicates predicates, RawSql.Sql sql) { String orderBy = predicates.getDbOrderBy(); if (orderBy != null) { return orderBy; } else { return sql.getOrderBy(); } } }
private String getOrderBy(CQueryPredicates predicates, RawSql.Sql sql) { String orderBy = predicates.getDbOrderBy(); if (orderBy != null) { return orderBy; } else { return sql.getOrderBy(); } } }
private String getOrderBy(CQueryPredicates predicates, RawSql.Sql sql) { String orderBy = predicates.getDbOrderBy(); if (orderBy != null) { return orderBy; } else { return sql.getOrderBy(); } } }