如何在DynamicQuery中对两个字段的总和进行排序

时间:2014-02-07 11:25:39

标签: hibernate liferay liferay-6

我有一个包含两个字段的实体:pointsA和pointsB。我想对pointsA + pointsB进行排序。

我知道如何使用自定义SQL执行此操作,但我想知道如何使用DynamicQuery执行此操作。

在hibernate中,我会在标准上创建一个别名:

criterion.createAlias("pointsA + pointsB", "totalPoints");
criterion.addOrder(Order.asc("totalPoints"));
return criterion.list();

我无法通过Liferay的冬眠包裹找到如何做到这一点。

1 个答案:

答案 0 :(得分:0)

好的,我们假设您要在表格Download_Details(自定义表格)上的cloumn日期时间之间对开始日期和结束日期进行排序  你可以像

那样执行它
DynamicQuery downDetDQ=DynamicQueryFactoryUtil.forClass(Download_Details.class)
                                    .add(RestrictionsFactoryUtil.between("datetime", startDate, endDate))
                                    .add(OrderFactoryUtil.asc("datetime")));

List listDetails = Download_DetailsLocalServiceUtil.dynamicQuery(downDetDQ);

我想这会解决你的目的