gpt4 book ai didi

java - 使用 ORDER BY 传递到 URL 的用于排序的自定义参数

转载 作者:行者123 更新时间:2023-12-01 16:16:07 29 4
gpt4 key购买 nike

我想首先声明,我知道已经有一个排序函数,并且可以使用以下函数调用它:

http://localhost:8080/api/person?sort=name,ASC

但是,由于我依赖多个域,所以目前无法使用这种排序类型。由此我决定创建一个自定义排序参数,如下所示:

http://localhost:8080/api/person?ordering=name

然后,我决定查看我的存储库以创建一个自定义 JPQL,该 JPQL 可用于在调用上面的 URL 时对我的值进行排序:

repo 方法:

@Query("SELECT p FROM DePerson p, DeClass c, DeSchool s" +
"WHERE p.personId = c.id " +
"AND p.schoolId = s.id " +
"ORDER BY :ordering")
Page<DeSiteUser> orderingAll(@Param("ordering") String ordering, Pageable pageable);

服务方式:

    Page<DePerson> newPage = repository.orderingAll(ordering, pageable);

List<DePerson> personList = newPage.getContent();
for (DePerson person: personList ) {
result.add(convertDTO(person));
}

return new PageImpl<>(result, pageable, page.getTotalElements());

从此我调用了它,现在得到了这个错误:

There was an unexpected error (type=Internal Server Error, status=500).
could not extract ResultSet; nested exception is org.hibernate.exception.GenericJDBCException: could not extract ResultSet

有两个问题想请教一下。 1. 这是使用 ORDER BY 生成自定义排序参数的正确途径吗? 2. 为什么我会收到错误消息。谢谢。

最佳答案

这行看起来错误:

AND su.schoolId = s.id

您的请求中没有“su”。您指的是 c 而不是 su?

关于java - 使用 ORDER BY 传递到 URL 的用于排序的自定义参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62387111/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com