向HQL添加标准和订单

问题描述:

是否可以将Criterion s和Order s添加到HQL语句中?向HQL添加标准和订单

例如,给定HQL

from Category c where c.name like 'Laptop%' 

我可以添加以下?

Order.asc("name") 
Restrictions.eq("enabled", "Y") 

这样做的原因笨拙的设计是因为HQL来自一个配置文件,而OrderRestrictions来自网络的形式,它允许用户指定过滤器和排序结果。

+0

目前我有同样的问题。你找到答案了吗? – 2011-10-21 14:50:18

+0

对不起,没有运气。 :( – 2011-10-22 23:36:07

我猜你正在寻找的是Mix HQL and Criteria API in Hibernate

+0

其实,我发布了这个问题,区别在于我需要指定一个完整的HQL语句并添加Criterions和Orders。 – 2011-03-04 18:28:23

你可以使用命名参数,例如:

from Category c where c.name like 'Laptop%' and enabled = :enabled 

query.setParameter("enabled", "Y");