/** * Add a left {@link Join} to this query using the USING clause * * @param table the table to join on * @param usingColumns one or more columns to use for the "using" clause * @return this Query object, to allow chaining method calls */ public Query leftJoin(SqlTable<?> table, Property<?>... usingColumns) { return join(Join.left(table, usingColumns)); }
/** * Add a left {@link Join} to this query using the ON clause * * @param table the table to join on * @param onCriterions one or more criterions to use for the "on" clause * @return this Query object, to allow chaining method calls */ public Query leftJoin(SqlTable<?> table, Criterion... onCriterions) { return join(Join.left(table, onCriterions)); }
/** * Add a left {@link Join} to this query using the ON clause * * @param table the table to join on * @param onCriterions one or more criterions to use for the "on" clause * @return this Query object, to allow chaining method calls */ public Query leftJoin(SqlTable<?> table, Criterion... onCriterions) { return join(Join.left(table, onCriterions)); }
/** * Add a left {@link Join} to this query using the USING clause * * @param table the table to join on * @param usingColumns one or more columns to use for the "using" clause * @return this Query object, to allow chaining method calls */ public Query leftJoin(SqlTable<?> table, Property<?>... usingColumns) { return join(Join.left(table, usingColumns)); }
public void testViewlessViewModel() { SquidCursor<ViewlessViewModel> cursor = null; try { cursor = database.query(ViewlessViewModel.class, Query.select(ViewlessViewModel.PROPERTIES) .from(TestModel.TABLE) .join(Join.left(Employee.TABLE, TestModel.ID.eq(Employee.ID))) .where(TestModel.FIRST_NAME.gt("S")) .orderBy(TestModel.FIRST_NAME.asc())); assertEquals(2, cursor.getCount()); cursor.moveToFirst(); ViewlessViewModel model = new ViewlessViewModel(cursor); assertEquals(t1.getRowId(), model.getTestModelId().longValue()); assertEquals(e1.getRowId(), model.getEmployeeModelId().longValue()); assertEquals(t1.getFirstName(), model.getTestName()); assertEquals(e1.getName(), model.getEmployeeName()); assertEquals(e1.getName().toUpperCase(), model.getUppercaseName()); cursor.moveToNext(); model.readPropertiesFromCursor(cursor); assertEquals(t2.getRowId(), model.getTestModelId().longValue()); assertEquals(e2.getRowId(), model.getEmployeeModelId().longValue()); assertEquals(t2.getFirstName(), model.getTestName()); assertEquals(e2.getName(), model.getEmployeeName()); assertEquals(e2.getName().toUpperCase(), model.getUppercaseName()); } finally { if (cursor != null) { cursor.close(); } } }
public void testViewlessViewModelMapping() { SquidCursor<ViewlessViewModel> cursor = null; try { cursor = database.query(ViewlessViewModel.class, Query.select(ViewlessViewModel.PROPERTIES) .from(TestModel.TABLE) .join(Join.left(Employee.TABLE, TestModel.ID.eq(Employee.ID))) .where(TestModel.FIRST_NAME.gt("S")) .orderBy(TestModel.FIRST_NAME.asc())); cursor.moveToFirst(); ViewlessViewModel model = new ViewlessViewModel(cursor); TestModel testModel = new TestModel(); model.mapToModel(testModel); assertEquals(t1.getRowId(), testModel.getRowId()); assertEquals(t1.getFirstName(), testModel.getFirstName()); assertFalse(testModel.containsValue(Employee.NAME)); assertFalse(testModel.containsValue(TestViewModel.UPPERCASE_NAME)); Employee employee = new Employee(); model.mapToModel(employee); assertEquals(e1.getRowId(), employee.getRowId()); assertEquals(e1.getName(), employee.getName()); assertFalse(employee.containsValue(TestModel.FIRST_NAME)); assertFalse(employee.containsValue(TestViewModel.UPPERCASE_NAME)); } finally { if (cursor != null) { cursor.close(); } } }