Search in sources :

Example 6 with Group

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]);
}
Also used : Group(com.querydsl.core.group.Group) Test(org.junit.Test)

Example 7 with Group

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));
}
Also used : Group(com.querydsl.core.group.Group) Test(org.junit.Test)

Example 8 with Group

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());
    }
}
Also used : BigInteger(java.math.BigInteger) Group(com.querydsl.core.group.Group) Test(org.junit.Test) ExcludeIn(com.querydsl.core.testutil.ExcludeIn)

Aggregations

Group (com.querydsl.core.group.Group)8 Test (org.junit.Test)8 ExcludeIn (com.querydsl.core.testutil.ExcludeIn)2 Ignore (org.junit.Ignore)2 ImmutableList (com.google.common.collect.ImmutableList)1 MockTuple (com.querydsl.core.group.MockTuple)1 BigInteger (java.math.BigInteger)1