使用JPA 2.1排序时确实有问题。
我想对书籍实体进行分页条件查询,并按字母 顺序(字典顺序)进行排序。
当我通过以下Criteria API调用尝试此操作时:
CriteriaQuery<Book> criteriaQuery = criteriaBuilder
.createQuery(Book.class);
Root<Book> from = criteriaQuery.from(Book.class);
CriteriaQuery<Book> select = criteriaQuery.select(from);
TypedQuery<Book> typedQuery = entityManager.createQuery(select);
typedQuery.setFirstResult(pageNumber - 1);
typedQuery.setMaxResults(pageSize);
List<Book> books = typedQuery.getResultList();
我得到
1 Oscar
10 Tennis
11 Elvis
2 Tim
但是我想要(例如,与按名称排序时在任何文件浏览器中一样)
1 Oscar
2 Tim
10 Tennis
11 Elvis