如何按字母顺序对方法进行排序,例如DELETE,GET,POST,PUT。
我已经阅读了这篇文章,但是它是HTML格式的,但就我而言,我将Swagger集成到了Spring Boot中,因此在创建Docket时需要对其进行排序。
然后我operationOrdering()在Docket中注意到了这种方法,但是我仍然无法使它起作用。
我使用JPA CriteriaQuery构建我的动态Query并传入Spring Data Pageable对象:
sort=name,desc
Run Code Online (Sandbox Code Playgroud)
在后端,我的存储库中有一个方法来支持动态查询:
public Page<User> findByCriteria(String username, Pageable page) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<User> cq = cb.createQuery(User.class);
Root<User> iRoot = cq.from(User.class);
List<Predicate> predicates = new ArrayList<Predicate>();
if (StringUtils.isNotEmpty(username)) {
predicates.add(cb.like(cb.lower(iRoot.<String>get("username")), "%" + username.toLowerCase() + "%"));
}
Predicate[] predArray = new Predicate[predicates.size()];
predicates.toArray(predArray);
cq.where(predArray);
TypedQuery<User> query = em.createQuery(cq);
int totalRows = query.getResultList().size();
query.setFirstResult(page.getPageNumber() * page.getPageSize());
query.setMaxResults(page.getPageSize());
Page<User> result = new PageImpl<User>(query.getResultList(), page, totalRows);
return result;
}
Run Code Online (Sandbox Code Playgroud)
注意:我只为演示目的放了一个参数.
但是返回的数据是未排序的,因此我想问一下在CriteriaQuery中实现Pageable的任何方法.
假设我在Oracle DB中有一列是这样的:
SOMETHING_TS TIMESTAMP WITH TIME ZONE
我想使用CriteriaQuery按此列进行过滤。
我可以使用本机查询来实现此目的:
SELECT *
FROM SOMETHING
WHERE TRUNC(SOMETHING_TS) = TO_DATE('2016-12-08','YYYY-MM-DD');
Run Code Online (Sandbox Code Playgroud)
但是在Java中我没有这样做,下面是我的示例代码:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<MyClass> cq = cb.createQuery(MyClass.class);
Date date = new Date();
predicates.add(cb.equal(cb.function("TRUNC", Date.class, myClass.get("somethingTs")), cb.function("TO_DATE", Date.class, cb.parameter(Date.class, "somethingTs"), cb.literal("YYYY-MM-DD"))));
Predicate[] predArray = new Predicate[predicates.size()];
predicates.toArray(predArray);
cq.where(predArray);
TypedQuery<MyClass> query = em.createQuery(cq);
query.setParameter("somethingDt", date);
Run Code Online (Sandbox Code Playgroud) java ×3
hibernate ×1
jpa ×1
jpa-criteria ×1
oracle ×1
spring ×1
spring-boot ×1
springfox ×1
swagger ×1
timestamp ×1