/** * Gets the join used to join this subquery to the parent query. * * @return */ public QJoin getSubQueryJoin() { if (parent != null) { for (QJoin join : parent.exists) { if (join.getTo() == this) { return join; } } } return null; }
public QJoin join(QPath path) { if (path == null) return null; final QJoin parent; if (joins.containsKey(path)) { return joins.get(path); } else { parent = join(path.getParent()); } final QJoin join = new QJoin( path, path.toJoinAlias(), parent != null ? parent.getEntity() : path.getRelation(0).getEntity()); joins.put(path, join); return join; }
public void appendJoins(Criteria criteria) { // Set up the joins for (QJoin join : joins.values()) criteria.createAlias(join.getPath().toString(), join.getAlias(), JoinType.LEFT_OUTER_JOIN); }
@SuppressWarnings("unchecked") public <T> T back(Class<T> type) { return (T) joined.getFrom(); }