从JPA中的NamedQuery排序结果

时间:2016-08-18 10:54:46

标签: java sorting jpa

我想执行一个命名查询来检索一些数据

@Entity
@Table(name = "SERVICE")
@NamedQuery(name = Service.ALL, query = "SELECT s FROM Service s ORDER BY s.name ASC")
public class Service implements Serializable {
  // ...
}

返回结果并按以下区分大小写的顺序排序:

 Name1, Name3, name2

但我希望按照典型的字母顺序接收它们:

 Name1, name2, Name3

我尝试包含ORDER BY LOWER(s.name) ASC,以排除案例不相关性,但JPQL解析器不支持此功能。

该脚本在相应的DAO,btw:

中执行查询
public List<T> findByNamedQuery(@NotNull String namedQueryName, Map<String, Object> parameters, Integer maxResults) {
    TypedQuery<T> query = this.entityManager.createNamedQuery(namedQueryName, getDomainClass());

    if (maxResults != null) {
        query.setMaxResults(maxResults);
    }

    setParameters(parameters, query);
    return query.getResultList();
}

如何从结果中按字母顺序排列?

0 个答案:

没有答案