3

我试图弄清楚如何选择对象列表作为 Hibernate group-by 查询的一部分。我知道如何以更难的方式做到这一点,但我很好奇是否有一些特殊的糖语法可以实现相同的目标。

基本上,我对这个结构有一个查询:

select com.myapp.domain.TagSummary(
   tag.id, tag.term, tag.description, tag.synonyms, count(user)
)
from User user
   join user.tags tag

我想将其存储tag.synonymsList<Tag>. 这可能吗,还是我需要查询叉积并在查询结果返回后手动进行分离?

或者,我最终真正想要的是用逗号分隔的同义词列表。因此,如果标签 isspring并且它具有同义词spring-frameworkand spring-framework-3.1,那么将 string 放入构造函数中会很棒spring-framework, spring-framework-3.1。那可能吗?

编辑:我了解到我可以使用 group_concat() 来实现功能的后半部分,但它仅在 MySQL 中可用。有没有办法让它在 hsqldb 中也可用?在 Spring 3.1 中,如何将此功能添加到 Hibernate?我知道我应该调用一些东西Configuration,但我不知道通过什么 bean 来访问它。

4

1 回答 1

0
for (Object[]> result : query.list()) {    
    Tag tag = (Tag ) result[3];
    User user = (User) result[4];
}

您可以从此链接获取更多信息

https://derrickpetzold.com/p/in-and-group-by-count-hibernate/

于 2012-12-04T09:45:51.257 回答