@Override public Table as(String newAlias) { Table result = (Table) super.as(newAlias); result.rowidProperty = rowidProperty == null ? null : result.qualifyField(rowidProperty); return result; }
StringProperty employeeName = Employee.NAME.as("employeeName"); StringProperty managerName = Employee.NAME.as(managerTable, "managerName"); LongProperty managerId = managerTable.qualifyField(Employee.ID); Join join = Join.inner(managerTable, Employee.MANAGER_ID.eq(managerId)); Query query = Query.select(employeeName, managerName).from(Employee.TABLE).join(join).orderBy(managerId.asc());
public void testQueryAsFunction() { Table qualifiedTable = Employee.TABLE.as("e1"); Query subquery = Query.select(Function.add(qualifiedTable.qualifyField(Employee.ID), 1)) .from(qualifiedTable).where(Employee.ID.eq(qualifiedTable.qualifyField(Employee.ID))); Function<Long> fromQuery = subquery.asFunction(); LongProperty idPlus1 = LongProperty.fromFunction(fromQuery, "idPlus1"); Query baseQuery = Query.select(Employee.ID, idPlus1); SquidCursor<Employee> cursor = database.query(Employee.class, baseQuery); try { assertEquals(database.countAll(Employee.class), cursor.getCount()); while (cursor.moveToNext()) { assertEquals(cursor.get(Employee.ID) + 1, cursor.get(idPlus1).longValue()); } } finally { cursor.close(); } }
@Override public Table as(String newAlias) { Table result = (Table) super.as(newAlias); result.rowidProperty = rowidProperty == null ? null : result.qualifyField(rowidProperty); return result; }
LongProperty aliasedId = employeesAlias.qualifyField(Employee.ID); LongProperty aliasedManagerId = employeesAlias.qualifyField(Employee.MANAGER_ID); StringProperty subordinates = StringProperty.fromFunction(Function.groupConcat(aliasedId, separator), "subordinates");