private void ids(Criteria criteria, QueryBuilder qb, String path) { if (values.onlyIds != null) { if (criteria != null) { criteria.add(Restrictions.in("id", values.onlyIds)); } if (qb != null) { String unique = qb.unique_alias("ids"); qb.and(String.format("%sid in (:%s) ", path, unique)); qb.paramList(unique, values.onlyIds); } } }
private void annotatedBetween(AnnotationCriteria ann, QueryBuilder qb, String path) { if (values.annotatedStart != null) { if (ann != null) { ann.getCreate().add( Restrictions .gt("anncreate.time", values.annotatedStart)); } if (qb != null) { String astart = qb.unique_alias("astart"); qb.and(path + "details.creationEvent.time > :" + astart); qb.param(astart, values.annotatedStart); } } if (values.annotatedStop != null) { if (ann != null) { ann.getCreate() .add( Restrictions.lt("anncreate.time", values.annotatedStop)); } if (qb != null) { String astop = qb.unique_alias("astop"); qb.and(path + "details.creationEvent.time < :" + astop); qb.param(astop, values.annotatedStop); } } }
String ctime = qb.unique_alias("ctimestart"); qb.and(path + "details.creationEvent.time > :" + ctime); qb.param(ctime, values.createdStart); String ctime = qb.unique_alias("ctimestop"); qb.and(path + "details.creationEvent.time < :" + ctime); qb.param(ctime, values.createdStop); String mtime = qb.unique_alias("mtimestart"); qb.and(path + "details.updateEvent.time > :" + mtime); qb.param(mtime, values.modifiedStart); String mtime = qb.unique_alias("mtimestart"); qb.and(path + "details.updateEvent.time < :" + mtime); qb.param(mtime, values.modifiedStop);
String param = qb.unique_alias("ns"); qb.append("child.ns like :" + param); qb.param(param, namespaces.get(0)); for (int i = 1; i < namespaces.size(); i++) { qb.append(" OR "); String param2 = qb.unique_alias("ns"); qb.append("child.ns like :" + param2); qb.param(param2, namespaces.get(i));
public static void notNullOrLikeOrEqual(QueryBuilder qb, String path, Class type, Object value, boolean useLike, boolean caseSensitive) { if (null == value) { qb.and(path + " is null "); } else { String operator; if (useLike && String.class.isAssignableFrom(type)) { if (caseSensitive) { operator = "like"; } else { operator = "ilike"; } } else { operator = "="; } String alias = qb.unique_alias("main"); qb.and(path); qb.append(operator); qb.append(":"); qb.append(alias); qb.appendSpace(); qb.param(alias, value); } }
void on(QueryBuilder qb, boolean equals) { check(); String op = equals ? "=" : "!="; String unique = qb.unique_alias("owner"); qb.and(path); qb.append(" "); qb.append(op); qb.append(" :"); qb.append(unique); qb.appendSpace(); qb.param(unique, id); } }
/** * In order to support the order() method in addition * to a filter, we allow applying the filter and nulling * the instance eagerly before the user calls order. */ public QueryBuilder filterNow() { if (filter != null && filterTarget != null) { if (filter.owner() >= 0) { this.and(filterTarget+".details.owner.id = "); String alias = this.unique_alias("owner"); this.append(":"); this.append(alias); this.param(alias, filter.owner()); appendSpace(); } if (filter.group() >= 0) { this.and(filterTarget+".details.group.id = "); String alias = this.unique_alias("group"); this.append(":"); this.append(alias); this.param(alias, filter.group()); appendSpace(); } } return this; }
link[i] = qb.unique_alias("link"); ann[i] = link[i] + "_child"; qb.join("this.annotationLinks", link[i], false, fetch[i]);