public void testQueryUnsetOffset() { Query<TestEntity> query = dao.queryBuilder().limit(1).build(); try{ query.setOffset(1); fail("Offset must be defined in builder first"); } catch(RuntimeException expected) { //OK } }
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 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 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.setOffset(2); fail("Did not throw"); } catch (DaoException expected) {