可以为投影指定别名,以便可以在限制或排序中引用投影值。
但是,我无法在限制中引用投影别名。
public List getRequests() {
Criteria crit = getSession().createCriteria(Request.class);
crit.setProjection(Projections.projectionList()
.add(Projections.property("reward"), "pointsRewards"));
crit.addOrder(Order.asc("pointsRewards"));
crit.add(Restrictions.gt("pointsRewards", 0));
return crit.list();
}
在上面的代码中,当addOrder工作时,添加限制会导致此错误:
Exception in thread "main" org.hibernate.QueryException: could not resolve property: pointsRewards of: entities.Request
有人知道如何在限制中引用投影别名吗?我需要使用投影别名,因为我稍后会要求Projections.sqlGroupProjection的结果来限制和缩小标准。
谢谢!