带有排序对象的实体管理器 ORDER BY 查询
Entity Manager ORDER BY query with Sort Object
我正在使用实体管理器并想附加来自排序 (org.springframework.data.domain.sort) 对象的 "ORDER BY" 查询。
Sort 对象包含类似 "id: DESC" 的内容。
我可以将 Sort 对象解析为字符串,删除条件并将其附加到我的查询中。查询看起来像这样 "SELECT p FROM projects ... ORDER BY p.id DESC"
有没有更好的方法来解决这个问题,有什么建议吗?
抱歉,我的描述可能有点误导,但我有一个 REST api 并且我的方法获取 Sort 对象,其中包含我需要排序的字段和方向。我无法轻松地对其进行 ASC 或 DESC 排序。它取决于我拥有的排序对象和方法用法。
只需对 Sort 对象使用 descending 方法即可获得所需内容。
query.orderBy(mySort.descending());
上周,我检查了同样的问题并更改了我的代码,如下所示:工作正常;与您分享相同的内容。
StringBuilder strBuilder = "SELECT p FROM projects";
entityManager.createQuery(strBuilder.toString());
Iterator<Order> orderIterator = sort.iterator();
Order order = orderIterator.next();
strBuilder.append(" Order By ").append(order.getProperty()).append(" ")
.append(order.getDirection().name());
我正在使用实体管理器并想附加来自排序 (org.springframework.data.domain.sort) 对象的 "ORDER BY" 查询。
Sort 对象包含类似 "id: DESC" 的内容。 我可以将 Sort 对象解析为字符串,删除条件并将其附加到我的查询中。查询看起来像这样 "SELECT p FROM projects ... ORDER BY p.id DESC"
有没有更好的方法来解决这个问题,有什么建议吗?
抱歉,我的描述可能有点误导,但我有一个 REST api 并且我的方法获取 Sort 对象,其中包含我需要排序的字段和方向。我无法轻松地对其进行 ASC 或 DESC 排序。它取决于我拥有的排序对象和方法用法。
只需对 Sort 对象使用 descending 方法即可获得所需内容。
query.orderBy(mySort.descending());
上周,我检查了同样的问题并更改了我的代码,如下所示:工作正常;与您分享相同的内容。
StringBuilder strBuilder = "SELECT p FROM projects";
entityManager.createQuery(strBuilder.toString());
Iterator<Order> orderIterator = sort.iterator();
Order order = orderIterator.next();
strBuilder.append(" Order By ").append(order.getProperty()).append(" ")
.append(order.getDirection().name());