所以,我想从我的数据库中获取具有特定数据计数的实体列表。我使用QueryDSL 4.1.3和postgres。我有子查询,它计算每个实体的特定数据。我有这样的东西,它的工作原理:
JPAQuery<?> countQuery = from(sideEntity)
.join(..).on(..)
..
.select(sideEntity.countDistinct);
JPAQuery<?> mainQuery = from(mainEntity)
.innerJoin(..).on(..)
..
.where(..);
return mainQuery(mainEntity, countQuery).fetch();
我需要的是按countQuery结果排序。以下sql适用于我的数据库
select distinct
t0.id as a1
..
(select count(distinct (t2.id) from .. where .. ) as countAlias
from .. where ..
group by ..
order by countAlias desc
所以我想知道queryDSL中是否可以为子查询结果设置别名,然后按此别名排序。