/** * Define the join criteria to require the node in one table is a * descendant of the node in another table. The supplied tables must be a * valid name or alias. * * @param ancestorTable * the name or alias of the table containing the ancestor node * @param descendantTable * the name or alias of the table containing the descendant node * @return the query builder instance, for method chaining purposes */ public QueryBuilder onDescendant(String ancestorTable, String descendantTable) { return createJoin(new DescendantNodeJoinCondition(nameOf(ancestorTable), nameOf(descendantTable))); }