我想执行一个命名查询来检索一些数据
@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();
}
如何从结果中按字母顺序排列?