public <T> List<T> list(final int max) { return list(null, max, autoClose); } /**
public <T> List<T> list(final int max, final Class... types) { return list(types, max, autoClose); } public <T> List<T> list(final int max) {
public <T> List<T> list() { return list(null, -1, autoClose); } public <T> List<T> list(final int max, final Class... types) {
public <T> List<T> list(final Class... types) { return list(types, -1, autoClose); } public <T> List<T> list() {
/** * Finds list of entities matching given criteria. */ @SuppressWarnings({"unchecked"}) public <E> List<E> find(final Object criteria) { return query(dbOom.entities().find(criteria)).autoClose().list(criteria.getClass()); }
/** * Finds related entity. */ public <E> List<E> findRelated(final Class<E> target, final Object source) { return query(dbOom.entities().findForeign(target, source)).autoClose().list(target); }
/** * List all entities. */ public <E> List<E> listAll(final Class<E> target) { return query(dbOom.entities().from(target)).autoClose().list(target); }
/** * Finds list of entities matching given criteria. */ public <E> List<E> find(final Class<E> entityType, final Object criteria) { return query(dbOom.entities().find(entityType, criteria)).autoClose().list(entityType); }
@Test void testMapRows2Types_entityAware_List() { DbOomQuery q = DbOomQuery.query(sql(TSQL)); List<Girl2> result2 = q.withHints("g", "g.boys").entityAwareMode(true).list(1, Girl2.class, Boy.class); assertEquals(1, result2.size()); Girl2 girl1 = result2.get(0); assertNotNull(girl1.getBoys()); assertEquals(2, girl1.getBoys().size()); }
@Test void testMapRows2Types_entityAware_List_LEFT() { DbOomQuery q = DbOomQuery.query(sql(TSQL_LEFT)); List<Girl2> result2 = q.withHints("g", "g.boys").entityAwareMode(true).list(2, Girl2.class, Boy.class); assertEquals(2, result2.size()); Girl2 girl0 = result2.get(0); Girl2 girl1 = result2.get(1); assertNull(girl0.getBoys()); assertNotNull(girl1.getBoys()); assertEquals(2, girl1.getBoys().size()); }
@Test void testMapRows2Types_entityAware() { DbOomQuery q = DbOomQuery.query(sql(TSQL)); List<Girl2> result2 = q.withHints("g", "g.boys").entityAwareMode(true).list(Girl2.class, Boy.class); assertEquals(2, result2.size()); Girl2 girl1 = result2.get(0); Girl2 girl3 = result2.get(1); assertNotNull(girl1.getBoys()); assertEquals(2, girl1.getBoys().size()); assertNotNull(girl3.getBoys()); assertEquals(1, girl3.getBoys().size()); }
@Test void testMapRows2Types_entityAware_LEFT() { DbOomQuery q = DbOomQuery.query(sql(TSQL_LEFT)); List<Girl2> result2 = q.withHints("g", "g.boys").entityAwareMode(true).list(Girl2.class, Boy.class); assertEquals(3, result2.size()); Girl2 girl0 = result2.get(0); Girl2 girl1 = result2.get(1); Girl2 girl3 = result2.get(2); assertNull(girl0.getBoys()); assertNotNull(girl1.getBoys()); assertEquals(2, girl1.getBoys().size()); assertNotNull(girl3.getBoys()); assertEquals(1, girl3.getBoys().size()); }
@Test void testMapRows2Types_useCache_noHints() { DbOomQuery q = DbOomQuery.query(sql(TSQL)); List<Object[]> result = q.cacheEntities(true).list(Girl2.class, Boy.class); assertEquals(3, result.size()); Girl2 girl1 = (Girl2) result.get(0)[0]; Girl2 girl2 = (Girl2) result.get(1)[0]; Girl2 girl3 = (Girl2) result.get(2)[0]; assertTrue(girl1.equals(girl2)); assertTrue(girl1 == girl2); assertFalse(girl3 == girl1); Boy boy1 = (Boy) result.get(0)[1]; Boy boy2 = (Boy) result.get(1)[1]; Boy boy3 = (Boy) result.get(2)[1]; assertTrue(boy1.id != boy2.id); assertFalse(boy1 == boy2); assertFalse(boy2 == boy3); assertNull(girl1.getBoys()); assertNull(girl3.getBoys()); }
@Test void testGroupNames() { DbSession session = new DbThreadSession(cp); // ---------------------------------------------------------------- insert assertEquals(1, dbOom.entities().insert(new Group("g1")).query().autoClose().executeUpdate()); List<Group> groups; groups = dbOom.entities().findAll(Group.class).query().list(); assertEquals(1, groups.size()); groups = dbOom.entities().findByColumn(Group.class, "column", "g1").query().list(); assertEquals(1, groups.size()); groups = dbOom.entities().findByColumn(Group.class, "column", "g1").query().list(); assertEquals(1, groups.size()); session.close(); }
@Test void testMapRows2Types_useCache_noHints_LEFT() { DbOomQuery q = DbOomQuery.query(sql(TSQL_LEFT)); List<Object[]> result = q.cacheEntities(true).list(Girl2.class, Boy.class); assertEquals(4, result.size()); Girl2 girl0 = (Girl2) result.get(0)[0]; Girl2 girl1 = (Girl2) result.get(1)[0]; Girl2 girl2 = (Girl2) result.get(2)[0]; Girl2 girl3 = (Girl2) result.get(3)[0]; assertEquals("Emma", girl0.name); assertTrue(girl1.equals(girl2)); assertTrue(girl1 == girl2); assertFalse(girl3 == girl1); Boy boy0 = (Boy) result.get(0)[1]; Boy boy1 = (Boy) result.get(1)[1]; Boy boy2 = (Boy) result.get(2)[1]; Boy boy3 = (Boy) result.get(3)[1]; assertNull(boy0); assertTrue(boy1.id != boy2.id); assertFalse(boy1 == boy2); assertFalse(boy2 == boy3); assertNull(girl1.getBoys()); assertNull(girl3.getBoys()); }
@Test void testMapRows2Types_useCache_useHints_1perRow() { DbOomQuery q = DbOomQuery.query(sql(TSQL)); List<Girl2> result2 = q.withHints("g", "g.boys").cacheEntities(true).list(Girl2.class, Boy.class); assertEquals(3, result2.size()); Girl2 girl1 = result2.get(0); Girl2 girl2 = result2.get(1); Girl2 girl3 = result2.get(2); assertTrue(girl1.equals(girl2)); assertTrue(girl1 == girl2); assertFalse(girl3 == girl1); assertNotNull(girl1.getBoys()); assertEquals(2, girl1.getBoys().size()); assertNotNull(girl3.getBoys()); assertEquals(1, girl3.getBoys().size()); assertEquals("Hugo", girl3.getBoys().get(0).name); }
@Test void testMapRows2Types_useCache_useHints_1perRow_LEFT() { DbOomQuery q = DbOomQuery.query(sql(TSQL_LEFT)); List<Girl2> result2 = q.withHints("g", "g.boys").cacheEntities(true).list(Girl2.class, Boy.class); assertEquals(4, result2.size()); Girl2 girl0 = result2.get(0); Girl2 girl1 = result2.get(1); Girl2 girl2 = result2.get(2); Girl2 girl3 = result2.get(3); assertTrue(girl1.equals(girl2)); assertTrue(girl1 == girl2); assertFalse(girl3 == girl1); assertNull(girl0.getBoys()); assertNotNull(girl1.getBoys()); assertEquals(2, girl1.getBoys().size()); assertNotNull(girl3.getBoys()); assertEquals(1, girl3.getBoys().size()); assertEquals("Hugo", girl3.getBoys().get(0).name); }
query.setMap(params); List<T> list = query.list(pageSize, target); query.close();