我想使用hibernate条件动态构建一个查询api.i面临问题" Order By" .suppose我有这样的声明
Criteria crit = session.createCriteria(Product.class);
crit.addOrder(Order.asc("price"));
现在我想控制" asc"或" desc"根据用户输入。是否可能?
答案 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"));
}