public void testNotStoredProjection() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select("id", "description") .having("id").gte(98) .orderBy("id") .build(); List<Object[]> list = q.list(); assertEquals(2, list.size()); assertEquals(2, list.get(0).length); assertEquals(98, list.get(0)[0]); assertEquals("Expensive shoes 48", list.get(0)[1]); assertEquals(2, list.get(1).length); assertEquals(99, list.get(1)[0]); assertEquals("Expensive shoes 49", list.get(1)[1]); }
public void testNotIndexedProjection() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select("id", "isValid") .having("id").gte(98) .orderBy("id") .build(); List<Object[]> list = q.list(); assertEquals(2, list.size()); assertEquals(2, list.get(0).length); assertEquals(98, list.get(0)[0]); assertEquals(true, list.get(0)[1]); assertEquals(2, list.get(1).length); assertEquals(99, list.get(1)[0]); assertEquals(true, list.get(1)[1]); }
public void testNotIndexedOrderBy() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select("id", "isValid") .having("id").gte(98) .orderBy("isValid") .orderBy("id") .build(); List<Object[]> list = q.list(); assertEquals(2, list.size()); assertEquals(2, list.get(0).length); assertEquals(98, list.get(0)[0]); assertEquals(true, list.get(0)[1]); assertEquals(2, list.get(1).length); assertEquals(99, list.get(1)[0]); assertEquals(true, list.get(1)[1]); }
public void testNotStoredOrderBy() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select("id", "description") .having("id").gte(98) .orderBy("description") .orderBy("id") .build(); List<Object[]> list = q.list(); assertEquals(2, list.size()); assertEquals(2, list.get(0).length); assertEquals(98, list.get(0)[0]); assertEquals("Expensive shoes 48", list.get(0)[1]); assertEquals(2, list.get(1).length); assertEquals(99, list.get(1)[0]); assertEquals("Expensive shoes 49", list.get(1)[1]); }
public void testHavingWithAvg() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select(property("accountId"), avg("amount")) .groupBy("accountId") .having(avg("amount")).lt(130.0) .orderBy("accountId") .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(2, list.get(0)[0]); assertEquals(120.188679d, (Double) list.get(0)[1], 0.0001d); }
public void testHavingWithMax() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select(property("accountId"), max("amount")) .groupBy("accountId") .having(avg("amount")).lt(150) .orderBy("accountId") .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(2, list.get(0)[0]); assertEquals(149.0d, (Double) list.get(0)[1], 0.0001d); }
public void testNot9() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .not( qf.having("name").eq("John") .and(qf.having("surname").eq("Doe"))) .orderBy("id", SortOrder.ASC) .build(); List<User> list = q.list(); assertEquals(2, list.size()); assertEquals("Spider", list.get(0).getName()); assertEquals("Man", list.get(0).getSurname()); assertEquals("Spider", list.get(1).getName()); assertEquals("Woman", list.get(1).getSurname()); }
public void testHavingWithSum() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select(property("accountId"), sum("amount")) .groupBy("accountId") .having(sum("amount")).gt(3324) .orderBy("accountId") .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(2, list.get(0)[0]); assertEquals(6370.0d, (Double) list.get(0)[1], 0.0001d); }
public void testHavingWithMin() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select(property("accountId"), min("amount")) .groupBy("accountId") .having(min("amount")).lt(10) .orderBy("accountId") .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(2, list.get(0)[0]); assertEquals(5.0d, (Double) list.get(0)[1], 0.0001d); }
public void testOrderByInAggregationQueryMustAcceptRepeatedProperty() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .select(avg("age"), property("name")) .having("name").gt("A") .groupBy("name") .having(max("addresses.street")).gt("A") .orderBy(min("addresses.street")) .build(); List<Object[]> list = q.list(); assertEquals(2, list.size()); assertEquals(2, list.get(0).length); assertNull(list.get(0)[0]); assertEquals("Spider", list.get(0)[1]); assertEquals(22.0, list.get(1)[0]); assertEquals("John", list.get(1)[1]); }