Если я прав, создайте запрос HQL следующим образом:
@"SELECT new Tag(tag.Id, tag.Label), count(cloud.User)
FROM UserPostTag cloud
JOIN cloud.Tag tag
WHERE cloud.Post.Id = :postId
GROUP BY tag.Id, tag.Label"
Введите это в вызове CreateQuery, он будет работать только в том случае, если у вас есть конструктор Tag, который принимает идентификатор и метку.(Не забудьте установить параметр postId.)
Это возвращает список с тегом и списком в массиве, я считаю.
Обновление: если это не работает, вы можете создатьновый класс TagCount, который имеет тег и счетчик и изменяет синтаксис выбора на что-то вроде следующего:
SELECT new TagCount(tag.Id, tag.Label, count(cloud.User))
(Отказ от ответственности: я не пробовал это.)