/** Internal query to resolve the "toManyJoinTwo" to-many relationship of ToManyEntity. */ public List<ToManyTargetEntity> _queryToManyEntity_ToManyJoinTwo(Long toManyId, String targetJoinProperty) { synchronized (this) { if (toManyEntity_ToManyJoinTwoQuery == null) { QueryBuilder<ToManyTargetEntity> queryBuilder = queryBuilder(); queryBuilder.where(Properties.ToManyId.eq(null)); queryBuilder.where(Properties.TargetJoinProperty.eq(null)); queryBuilder.orderRaw("T.'TARGET_JOIN_PROPERTY' DESC,T.'_id' DESC"); toManyEntity_ToManyJoinTwoQuery = queryBuilder.build(); } } Query<ToManyTargetEntity> query = toManyEntity_ToManyJoinTwoQuery.forCurrentThread(); query.setParameter(0, toManyId); query.setParameter(1, targetJoinProperty); return query.list(); }
/** Internal query to resolve the "toManyTarget2List" to-many relationship of RelationSource2. */ public List<ToManyTarget2> _queryRelationSource2_ToManyTarget2List(Long fkId) { synchronized (this) { if (relationSource2_ToManyTarget2ListQuery == null) { QueryBuilder<ToManyTarget2> queryBuilder = queryBuilder(); queryBuilder.where(Properties.FkId.eq(null)); relationSource2_ToManyTarget2ListQuery = queryBuilder.build(); } } Query<ToManyTarget2> query = relationSource2_ToManyTarget2ListQuery.forCurrentThread(); query.setParameter(0, fkId); return query.list(); }
/** Internal query to resolve the "children" to-many relationship of TreeEntity. */ public List<TreeEntity> _queryTreeEntity_Children(Long parentId) { synchronized (this) { if (treeEntity_ChildrenQuery == null) { QueryBuilder<TreeEntity> queryBuilder = queryBuilder(); queryBuilder.where(Properties.ParentId.eq(null)); treeEntity_ChildrenQuery = queryBuilder.build(); } } Query<TreeEntity> query = treeEntity_ChildrenQuery.forCurrentThread(); query.setParameter(0, parentId); return query.list(); }
/** Internal query to resolve the "dateEntityList" to-many relationship of ToManyEntity. */ public List<DateEntity> _queryToManyEntity_DateEntityList(Long idToMany) { synchronized (this) { if (toManyEntity_DateEntityListQuery == null) { QueryBuilder<DateEntity> queryBuilder = queryBuilder(); queryBuilder.join(JoinManyToDateEntity.class, JoinManyToDateEntityDao.Properties.IdDate) .where(JoinManyToDateEntityDao.Properties.IdToMany.eq(idToMany)); toManyEntity_DateEntityListQuery = queryBuilder.build(); } } Query<DateEntity> query = toManyEntity_DateEntityListQuery.forCurrentThread(); query.setParameter(0, idToMany); return query.list(); }
/** Internal query to resolve the "toManyTargetEntityList" to-many relationship of ToManyEntity. */ public List<ToManyTargetEntity> _queryToManyEntity_ToManyTargetEntityList(Long toManyId) { synchronized (this) { if (toManyEntity_ToManyTargetEntityListQuery == null) { QueryBuilder<ToManyTargetEntity> queryBuilder = queryBuilder(); queryBuilder.where(Properties.ToManyId.eq(null)); queryBuilder.orderRaw("T.'_id' ASC"); toManyEntity_ToManyTargetEntityListQuery = queryBuilder.build(); } } Query<ToManyTargetEntity> query = toManyEntity_ToManyTargetEntityListQuery.forCurrentThread(); query.setParameter(0, toManyId); return query.list(); }
/** Internal query to resolve the "toManyByJoinProperty" to-many relationship of ToManyEntity. */ public List<ToManyTargetEntity> _queryToManyEntity_ToManyByJoinProperty(String targetJoinProperty) { synchronized (this) { if (toManyEntity_ToManyByJoinPropertyQuery == null) { QueryBuilder<ToManyTargetEntity> queryBuilder = queryBuilder(); queryBuilder.where(Properties.TargetJoinProperty.eq(null)); queryBuilder.orderRaw("T.'_id' ASC"); toManyEntity_ToManyByJoinPropertyQuery = queryBuilder.build(); } } Query<ToManyTargetEntity> query = toManyEntity_ToManyByJoinPropertyQuery.forCurrentThread(); query.setParameter(0, targetJoinProperty); return query.list(); }
/** Internal query to resolve the "toManyDescList" to-many relationship of ToManyEntity. */ public List<ToManyTargetEntity> _queryToManyEntity_ToManyDescList(Long toManyIdDesc) { synchronized (this) { if (toManyEntity_ToManyDescListQuery == null) { QueryBuilder<ToManyTargetEntity> queryBuilder = queryBuilder(); queryBuilder.where(Properties.ToManyIdDesc.eq(null)); queryBuilder.orderRaw("T.'_id' DESC"); toManyEntity_ToManyDescListQuery = queryBuilder.build(); } } Query<ToManyTargetEntity> query = toManyEntity_ToManyDescListQuery.forCurrentThread(); query.setParameter(0, toManyIdDesc); return query.list(); }
public void _testListSetParameters() { insertEntities(15); // TODO how to pass those to rxQuery? query.setParameter(0, 5); TestSubscriber<List<TestEntity>> testSubscriber = RxTestHelper.awaitTestSubscriber(rxQuery.list()); assertEquals(1, testSubscriber.getValueCount()); List<TestEntity> entitiesRead = testSubscriber.getOnNextEvents().get(0); assertEquals(5, entitiesRead.size()); }
public void testRawQueryCreate_setParameterInQuery() { insert(3); String value = getSimpleString(2); String sql = "WHERE " + Properties.SimpleString.columnName + "=?"; Query<TestEntity> query = dao.queryRawCreate(sql, getSimpleString(1)); query.list(); query.setParameter(0, value); List<TestEntity> result = query.list(); assertEquals(1, result.size()); assertEquals(value, result.get(0).getSimpleString()); }
public void testQueryLimitAndSetParameter() { Query<TestEntity> query = dao.queryBuilder().limit(5).offset(1).build(); try{ query.setParameter(0, (Object) null); fail("Offset/limit parameters must not interfere with user parameters"); } catch(RuntimeException expected) { //OK } }
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()); }
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()); }
public void testQueryOffsetAndLimit() { insert(10); Query<TestEntity> query = dao.queryBuilder().where(Properties.SimpleInteger.gt(getSimpleInteger(-1))).offset(-1) .limit(-1).orderAsc(Properties.SimpleInt).build(); query.setParameter(0, getSimpleInteger(1)); query.setLimit(3); query.setOffset(2); List<TestEntity> result = query.list(); assertEquals(3, result.size()); assertEquals(getSimpleInteger(4), result.get(0).getSimpleInteger().intValue()); assertEquals(getSimpleInteger(5), result.get(1).getSimpleInteger().intValue()); assertEquals(getSimpleInteger(6), result.get(2).getSimpleInteger().intValue()); }
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 testLike() { TestEntity entity = insert(3).get(1); entity.setSimpleString("greenrobot"); dao.update(entity); Query<TestEntity> query = dao.queryBuilder().where(Properties.SimpleString.like("%robot")).build(); TestEntity entity2 = query.uniqueOrThrow(); assertEquals(entity.getId(), entity2.getId()); query.setParameter(0, "green%"); entity2 = query.uniqueOrThrow(); assertEquals(entity.getId(), entity2.getId()); query.setParameter(0, "%enrob%"); entity2 = query.uniqueOrThrow(); assertEquals(entity.getId(), entity2.getId()); query.setParameter(0, "%nothere%"); entity2 = query.unique(); assertNull(entity2); }
public void testEqDate() { ArrayList<TestEntity> inserted = insert(3); TestEntity testEntity = inserted.get(1); Date date = new Date(); testEntity.setSimpleDate(date); dao.update(testEntity); Query<TestEntity> queryDate = dao.queryBuilder().where(Properties.SimpleDate.eq(date)).build(); TestEntity testEntity2 = queryDate.uniqueOrThrow(); assertEquals(testEntity.getId(), testEntity2.getId()); queryDate.setParameter(0, date); testEntity2 = queryDate.uniqueOrThrow(); assertEquals(testEntity.getId(), testEntity2.getId()); testEntity2 = dao.queryBuilder().where(Properties.SimpleDate.eq(date.getTime())).uniqueOrThrow(); assertEquals(testEntity.getId(), testEntity2.getId()); }
public void testGetForCurrentThread_ParametersAreReset() { insert(3); int value = getSimpleInteger(1); Query<TestEntity> query = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)).build(); query.setParameter(0, value + 1); TestEntity entityFor2 = query.unique(); assertEquals(value + 1, (int) entityFor2.getSimpleInteger()); query = query.forCurrentThread(); assertNotNull(query.unique()); }
public void testGetForCurrentThread_TwoThreads() throws InterruptedException { insert(3); createQueryFromOtherThread(); Query<TestEntity> query = queryFromOtherThread.forCurrentThread(); assertNotSame(queryFromOtherThread, query); query.setLimit(10); query.setOffset(0); assertEquals(getSimpleInteger(1), (int) query.uniqueOrThrow().getSimpleInteger()); int expected = getSimpleInteger(2); query.setParameter(0, expected); assertEquals(expected, (int) query.list().get(0).getSimpleInteger()); assertEquals(expected, (int) query.listLazy().get(0).getSimpleInteger()); assertEquals(expected, (int) query.listLazyUncached().get(0).getSimpleInteger()); assertEquals(expected, (int) query.unique().getSimpleInteger()); assertEquals(expected, (int) query.uniqueOrThrow().getSimpleInteger()); }
queryFromOtherThread.setParameter(0, 42); fail("Did not throw"); } catch (DaoException expected) {
public void testEqBoolean() { ArrayList<TestEntity> inserted = insert(3); TestEntity testEntity = inserted.get(1); testEntity.setSimpleBoolean(true); dao.update(testEntity); Query<TestEntity> queryBoolean = dao.queryBuilder().where(Properties.SimpleBoolean.eq(true)).build(); TestEntity testEntity2 = queryBoolean.uniqueOrThrow(); assertEquals(testEntity.getId(), testEntity2.getId()); queryBoolean.setParameter(0, true); testEntity2 = queryBoolean.uniqueOrThrow(); assertEquals(testEntity.getId(), testEntity2.getId()); testEntity2 = dao.queryBuilder().where(Properties.SimpleBoolean.eq(Boolean.TRUE)).uniqueOrThrow(); assertEquals(testEntity.getId(), testEntity2.getId()); testEntity2 = dao.queryBuilder().where(Properties.SimpleBoolean.eq("TRUE")).uniqueOrThrow(); assertEquals(testEntity.getId(), testEntity2.getId()); testEntity2 = dao.queryBuilder().where(Properties.SimpleBoolean.eq("truE")).uniqueOrThrow(); assertEquals(testEntity.getId(), testEntity2.getId()); }