public void testJoinSimple() { prepareData(); QueryBuilder<RelationEntity> queryBuilder = createQueryBuilder(5); RelationEntity unique = queryBuilder.uniqueOrThrow(); assertEquals("entity-5", unique.getSimpleString()); }
public void testJoinOfJoin() { prepareData(); List<RelationEntity> relationEntities = relationEntityDao.loadAll(); relationEntities.get(2).setParent(relationEntities.get(4)); relationEntities.get(3).setParent(relationEntities.get(5)); relationEntities.get(7).setParent(relationEntities.get(5)); relationEntityDao.updateInTx(relationEntities); QueryBuilder<RelationEntity> queryBuilder = relationEntityDao.queryBuilder(); Join<RelationEntity, RelationEntity> join1 = queryBuilder.join(RelationEntityDao.Properties.ParentId, RelationEntity.class); queryBuilder.join(join1, RelationEntityDao.Properties.TestIdNotNull, TestEntity.class, Properties.Id) .where(Properties.SimpleInt.lt(6)); Query<RelationEntity> query = queryBuilder.build(); RelationEntity entity = query.uniqueOrThrow(); assertEquals(relationEntities.get(2).getSimpleString(), entity.getSimpleString()); query.setParameter(0, 99); assertEquals(3, query.list().size()); }
@Override protected final void bindValues(SQLiteStatement stmt, RelationEntity entity) { stmt.clearBindings(); Long id = entity.getId(); if (id != null) { stmt.bindLong(1, id); } Long parentId = entity.getParentId(); if (parentId != null) { stmt.bindLong(2, parentId); } Long testId = entity.getTestId(); if (testId != null) { stmt.bindLong(3, testId); } stmt.bindLong(4, entity.getTestIdNotNull()); String simpleString = entity.getSimpleString(); if (simpleString != null) { stmt.bindString(5, simpleString); } }
@Override protected final void bindValues(DatabaseStatement stmt, RelationEntity entity) { stmt.clearBindings(); Long id = entity.getId(); if (id != null) { stmt.bindLong(1, id); } Long parentId = entity.getParentId(); if (parentId != null) { stmt.bindLong(2, parentId); } Long testId = entity.getTestId(); if (testId != null) { stmt.bindLong(3, testId); } stmt.bindLong(4, entity.getTestIdNotNull()); String simpleString = entity.getSimpleString(); if (simpleString != null) { stmt.bindString(5, simpleString); } }
public void testJoinSimpleParameterValue() { prepareData(); QueryBuilder<RelationEntity> queryBuilder = createQueryBuilder(-1); Query<RelationEntity> query = queryBuilder.build(); for (int i = 0; i < 10; i++) { query.setParameter(0, i + 1); RelationEntity unique = query.uniqueOrThrow(); assertEquals("entity-" + (i + 1), unique.getSimpleString()); } }
public void testJoinMixedParameterValues() { prepareData(); QueryBuilder<RelationEntity> queryBuilder = relationEntityDao.queryBuilder(); queryBuilder.where(RelationEntityDao.Properties.SimpleString.like(""), RelationEntityDao.Properties.SimpleString.ge("")); Join<RelationEntity, TestEntity> join = queryBuilder.join(RelationEntityDao.Properties.TestIdNotNull, TestEntity.class); join.where(Properties.SimpleInt.le(0)); queryBuilder.offset(0).limit(0); Query<RelationEntity> query = queryBuilder.build(); query.setParameter(0, "entity-%"); query.setParameter(1, "entity-4"); query.setParameter(2, 6); query.setOffset(1); query.setLimit(99); List<RelationEntity> entities = query.list(); assertEquals(2, entities.size()); assertEquals("entity-5", entities.get(0).getSimpleString()); assertEquals("entity-6", entities.get(1).getSimpleString()); }
protected void assertTestEntity(RelationEntity entity) { TestEntity testEntity = entity.getTestEntity(); assertNotNull(testEntity); assertEquals(42l, (long) testEntity.getId()); assertEquals("mytest", testEntity.getSimpleStringNotNull()); assertEquals("I'm a parent", entity.getParent().getSimpleString()); assertEquals(entity.getParentId(), entity.getParent().getId()); assertNotNull(entity.getTestNotNull()); }