我试图找出如何选择对象列表作为Hibernate组的一部分-by查询。我知道如何更难地做到这一点,但我很好奇是否有一些特殊的糖语法可以实现同样的功能。
基本上,我对这个结构有一个疑问:
select com.myapp.domain.TagSummary(
tag.id, tag.term, tag.description, tag.synonyms, count(user)
)
from User user
join user.tags tag我想把tag.synonyms存储为List<Tag>。这有可能吗?还是需要在查询结果返回后查询交叉产品并手动进行分离?
或者,最后我真正想要的是用逗号分隔的同义词术语列表。因此,如果标记是spring,并且具有同义词术语spring-framework和spring-framework-3.1,那么最好将字符串spring-framework, spring-framework-3.1放入构造函数中。这有可能吗?
编辑:我已经了解到我可以使用group_concat()来实现下半部分的功能,但它只能在MySQL中使用。有没有办法使它在hsqldb中也可用?在Spring3.1中,如何将此函数添加到Hibernate?我知道我应该在Configuration上调用一些东西,但是我不知道通过什么bean来访问它。
发布于 2012-12-04 09:45:51
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/
https://stackoverflow.com/questions/12947098
复制相似问题