我有一个像这样的HQL查询:
Query query = session.createQuery("from User as user where user.joined!=null order by user.joined desc");
Run Code Online (Sandbox Code Playgroud)
如何设置变量User属性作为查询的排序顺序?我的解决方案:
String order = "user.joined";
Query query = session.createQuery("from User as user where user.joined!=null order by :order desc").setString("order", order);
Run Code Online (Sandbox Code Playgroud)
没有给出有序的查询结果。
使用条件查询。
List<User> users = session.createCriteria(User.class)
.add(Restrictions.isNotNull("joined"))
.addOrder(Order.desc(order))
.list();
Run Code Online (Sandbox Code Playgroud)
或者,使用 HQL:
Query query = session.createQuery("from User as user where user.joined!=null order by user." + order + " desc");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6457 次 |
| 最近记录: |