休眠条件 排序依据
我有一个名为 Gift 的表,它与名为 ClickThrough 的表具有一对多关系 - 它指示该特定礼物被点击了多少次。我需要查询所有礼品对象,按点击率计数排序。我不需要返回点击率计数,因为我不需要对它做任何事情,我只想使用它来进行排序。
我需要查询直接返回礼品对象列表,只是按点击次数排序。如何使用条件 API 执行此操作?我可以找到很多关于类似信息的文档,但没有一个像我所需要的。
我有一个名为 Gift 的表,它与名为 ClickThrough 的表具有一对多关系 - 它指示该特定礼物被点击了多少次。我需要查询所有礼品对象,按点击率计数排序。我不需要返回点击率计数,因为我不需要对它做任何事情,我只想使用它来进行排序。
我需要查询直接返回礼品对象列表,只是按点击次数排序。如何使用条件 API 执行此操作?我可以找到很多关于类似信息的文档,但没有一个像我所需要的。
请注意,对于通过此处希望按属性/列排序的其他任何人:
使用此处提到的方法时,未找到任何结果。修复方法是改用。请注意,不同之处在于使用 ,而不是criteria.addOrder(Order.asc(property));
addOrder
add
;
在这里运行后,我多次遇到此问题,以便快速参考。
如果要返回实体或属性的列表以及计数,则需要一个分组依据。在标准中,这是通过 和 完成的。例如:ProjectionList
Projections
final ProjectionList props = Projections.projectionList();
props.add(Projections.groupProperty("giftID"));
props.add(Projections.groupProperty("giftName"));
props.add(Projections.count("giftID"), "count"); //create an alias for the count
crit.setProjection(props);
crit.add(Order.desc("count")); //use the count alias to order by
但是,由于您正在使用,因此您还需要使用AliasToBeanConstructorResultTransformer。ProjectionList