JPQL Группировка с несколькими полями - PullRequest
1 голос
/ 18 января 2012

Я хотел бы помочь понять следующий запрос JPQL.Контекст представляет собой простое приложение для блога, в котором сообщения и теги имеют отношение «многие ко многим».Мы пытаемся найти сообщения, помеченные всеми тегами, передаваемыми методу:

public static List<Post> findTaggedWith(String... tags) {
    return Post.find(
            "select distinct p from Post p join p.tags as t where t.name in (:tags) group by p.id, p.author, p.title, p.content,p.postedAt having count(t.id) = :size"
    ).bind("tags", tags).bind("size", tags.length).fetch();
}

По сути, я бы хотел, чтобы кто-нибудь рассказал мне, что происходит в этом запросе.В частности, меня смущает использование GROUP BY с несколькими полями.Я думаю, что если мы группируем по идентификатору, который является уникальным, то группировка по чему-либо еще будет излишней.Чего мне не хватает?

...