use of com.querydsl.core.group.Group in project querydsl by querydsl.
the class GroupByTest method array_access.
@Test
public void array_access() {
Map<Integer, Group> results = CollQueryFactory.from(post, posts).from(comment, comments).where(comment.post.id.eq(post.id)).transform(groupBy(post.id).as(post.name, set(comment.id), list(comment.text)));
Group group = results.get(1);
Object[] array = group.toArray();
assertEquals(toInt(1), array[0]);
assertEquals("Post 1", array[1]);
assertEquals(toSet(1), array[2]);
assertEquals(Arrays.asList("Comment 1"), array[3]);
}
use of com.querydsl.core.group.Group in project querydsl by querydsl.
the class GroupByTest method first_set_and_list.
@Test
public void first_set_and_list() {
Map<Integer, Group> results = CollQueryFactory.from(post, posts).from(comment, comments).where(comment.post.id.eq(post.id)).transform(groupBy(post.id).as(post.name, set(comment.id), list(comment.text)));
Group group = results.get(1);
assertEquals(toInt(1), group.getOne(post.id));
assertEquals("Post 1", group.getOne(post.name));
assertEquals(toSet(1), group.getSet(comment.id));
assertEquals(Arrays.asList("Comment 1"), group.getList(comment.text));
}
use of com.querydsl.core.group.Group in project querydsl by querydsl.
the class AbstractJPATest method transform_groupBy_alias.
@Test
@ExcludeIn(DERBY)
public void transform_groupBy_alias() {
QCat kitten = new QCat("kitten");
SimplePath<Cat> k = Expressions.path(Cat.class, "k");
Map<Integer, Group> result = query().from(cat).innerJoin(cat.kittens, kitten).transform(GroupBy.groupBy(cat.id).as(cat.name, cat.id, GroupBy.list(Projections.constructor(Cat.class, kitten.name, kitten.id).as(k))));
for (Group entry : result.values()) {
assertNotNull(entry.getOne(cat.id));
assertNotNull(entry.getOne(cat.name));
assertFalse(entry.getList(k).isEmpty());
}
}
Aggregations