【发布时间】:2012-10-08 11:10:08
【问题描述】:
我试图弄清楚如何选择对象列表作为 Hibernate 分组查询的一部分。我知道如何以更难的方式做到这一点,但我很好奇是否有一些特殊的糖语法可以实现相同的目标。
基本上,我对这个结构有一个查询:
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 中也可用?在 Spring 3.1 中,如何将此功能添加到 Hibernate?我知道我应该打电话给Configuration,但我不知道通过什么 bean 访问它。
【问题讨论】:
标签: java sql hibernate orm group-by