使用hibernate条件api进行动态查询

时间:2015-06-01 06:25:59

标签: hibernate criteria

我想使用hibernate条件动态构建一个查询api.i面临问题" Order By" .suppose我有这样的声明

Criteria crit = session.createCriteria(Product.class); 
crit.addOrder(Order.asc("price"));

现在我想控制" asc"或" desc"根据用户输入。是否可能?

1 个答案:

答案 0 :(得分:0)

Criteria Object API提供Order类作为管理排序的主要API。订单类有两种方法来设置排序顺序:

asc(字符串属性):按升序按属性对查询进行排序。

desc(字符串属性):按降序按属性对查询进行排序。

  

现在,如果您想根据用户输入控制“asc”或“desc”,那么您可以执行以下操作

假设用户输入可以是“asc”或“desc”。

Criteria crit = session.createCriteria(Product.class); 

    if (userInput.equals("asc")) {
            crit.addOrder(Order.asc("price"));
        } else if (userInput.equals("desc")) {
            crit.addOrder(Order.desc("price"));
        }