当前位置: 首页 > 面试题库 >

即使我指定了计数查询,也无法将本机查询与动态排序和/或分页一起使用

郜卓君
2023-03-14
问题内容

@Query(value =“从owner_null或owner =?1的paper_entry中选择,countQuery
=”从owner_null不为null或owner =?1的paper_entry中选择count(
),nativeQuery = true)

页面findAll(Long userId,Pageable pageable);

我使用的是mysql 5.7,spring-data-jpa
1.11.3.RELEASE。如您所见,我遵循文档https://docs.spring.io/spring-
data/jpa/docs/current/reference/html/#jpa.query-methods.at-
query。但是我得到了这个错误。

引起原因:org.springframework.data.jpa.repository.query.InvalidJpaQueryMethodException:无法在方法public
abstract org.springframework.data.domain.Page
com.gbdata.entry.persistence.dao中使用带有动态排序和/或分页的本机查询.PaperEntryRepository.findAll(java.lang.Long,org.springframework.data.domain.Pageable)at
org.springframework.data.jpa.repository.query.NativeJpaQuery。(NativeJpaQuery.java:55)〜[spring-
data-jpa
-1.11.3.RELEASE.jar:na]在org.springframework.data.jpa.repository.query.JpaQueryFactory.fromMethodWithQueryString(JpaQueryFactory.java:72)〜[spring-
data-jpa-1.11.3.RELEASE.jar: na] at ........


问题答案:

解决没?SQL里面加ORDER BY ?#{#pageable}就可以了

@Query(
        value = "select * from paper_entry where owner is null or owner = ?1 ORDER BY ?#{#pageable}",
        countQuery = "select count(*) from paper_entry where owner is not null or owner = ?1 ORDER BY ?#{#pageable}",
        nativeQuery = true)
    Page findAll(Long userId, Pageable pageable);


 类似资料:
  • @query(value=“select*from paper_entry where owner is null或owner=?1”,countQuery=“select count(*)from paper_entry where owner not null或owner=?1”,nativeQuery=true) Page findAll(长用户ID,可分页); 我使用MySQL5.7,sp

  • 给定以下查询,我的结果按顺序号降序排序。当试图返回分页结果时,排序似乎中断了。我尝试过不使用。orderby()表达式并在QPageRequest中添加QSort实例。我尝试过直接调用applySorting()方法并传递一个QSort,但是对于所有密集的目的来说,分页调用破坏了我尝试的任何排序。 我使用的是QueryDsl 3.3.4和Spring Data JPA 1.6.4。由Spring

  • 问题内容: 我已经看到了许多有关在Sql查询中使用参数和“赞”的问题,但是我尝试了各种方法来对其进行编码,但仍然无法使我的查询给出结果。如果我在查询本身中输入一个值,它会很好地运行。当我运行列出的第一个查询时,出现错误“必须声明标量变量“ @Search”,但我认为我使用cmd.Parameters.AddWithValue语句做到了。有人可以看到我可能在做错什么吗?感谢您的任何帮助。 问题答案:

  • 上一页下一页都是第一页的内容

  • 在我的索引中。js文件 在路由器文件中 邮递员: 我的GET URL如下所示:<代码>http://localhost:3000/api/v1/users?id=120622 它给出的错误: 我认为,根据我遵循的文档和教程,查询参数应该是这样给出的,但这个错误不会消失。 如果我删除了查询,那么其他endpoint就可以正常工作。 我搞不清楚这里出了什么问题。 我在过去的两天里一直被这个困扰着。只是

  • 问题内容: 我的数据库中有三个表。产品表,类型表和映射表Prod_Type。我的数据库是sql server,这就是为什么我不能使用group_concat函数而使用Stuff函数的原因。我的表结构如下 产品表 类型表 Prod_TypeTable 我能够将产品表加入到Prod_type的映射表中。我使用了东西查询来避免出现多个结果。我的查询是这样的: 我现在需要做的是将我先前的查询结果连接到类型