【发布时间】:2014-02-04 14:31:19
【问题描述】:
我有一张这样的桌子:
id | value | name
------+---------+--------
1 | a | name1
2 | b | name2
3 | a | name3
4 | a | name4
5 | c | name5
6 | b | name6
7 | c | name7
8 | b | name8
而我想要的是:
id | value | names
------+---------+---------------------------
1 | a | name1 , name3, name4
2 | b | name2 , name6, name8
3 | c | name5 , name7
事实上,我想获取每个组中的所有记录并迭代这些记录。 我试过这段代码,但它不起作用:
javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
Root<T> c = cq.from(entityClass);
cq.select(c);
cq.groupBy(c.get("value"));
javax.persistence.Query q = getEntityManager().createQuery(cq);
return q.getResultList();
谢谢。
【问题讨论】:
-
这样的列表在从数据库中获取所需的行后可以更好地显示。直接查询的可能性很小(虽然不确定)。