休眠标准对所有行进行无限制计数,并在1个查询中获得具有限制的ID

问题描述

我的桌子:动物园

id | name     | type | area
___+__________+______+___________
1  | Lion     | cat  | Africa
2  | Tiger    | cat  | Antarctica
3  | Seagull  | bird | Asia
4  | Manul    | cat  | Mars

我需要以某种方式获得Map<Integer,List<Integer>并将所有以条件为键的行数和具有相同条件但有限制的id列表进行计数。 具有HQL或标准/分离标准

如果条件为type = catlimit 2,我需要得到Map(3,List.of(1,2)),因为表中有3只猫,并且选择了ID 1,2、2,4或1,4达到极限

可以与其他集合,甚至可以使用新类来收集结果。

我有

DetachedCriteria dc = DetachedCriteria.forClass(Zoo.class);
dc.add(Restriction.eq('type','cat');

只需两个查询即可轻松实现。

限制dc.getExecutableCriteria(getSession()).setMaxResults(2);

对于计数dc.setProjection(Projections.count('id'));

是否可以在1个请求中提供?

哪个对象用于收集答案?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)