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

如何使用Spring Data JPA通过Sort和Pageable即时查询数据?

韩豪
2023-03-14
问题内容

我在我的项目中尝试使用Spring数据JPA。我想知道是否有现成的API通过Sort和来查询数据Pageable。当然,我知道我可以自己编写该方法,我只想知道是否有一个现成的方法。我的DAO扩展JpaRepository,我发现可以调用以下方法:

findAll();
findAll(Pageable pageable);
findAll(Sort sort);

但是没有这样的方法findAll(Sort sort, Pageable pageable),所以我很好奇。


问题答案:

有两种方法可以实现此目的:

final PageRequest page1 = new PageRequest(
  0, 20, Direction.ASC, "lastName", "salary"
);

final PageRequest page2 = new PageRequest(
  0, 20, new Sort(
    new Order(Direction.ASC, "lastName"), 
    new Order(Direction.DESC, "salary")
  )
);

dao.findAll(page1);

如您所见,第二种形式更加灵活,因为它允许为每个属性(lastName ASC, salary DESC)定义不同的方向。



 类似资料:
  • 我正在我的项目中尝试Spring data JPA。我想知道是否有现成的API可以通过排序和分页查询数据。当然,我知道我可以自己写这个方法,我只是想知道是否有现成的方法。我的DAO扩展了JpaRepository,我发现可以调用以下方法: 但是没有这样的方法,所以我很好奇。

  • SpringDataJpa中 Specification怎样使用in查询 实体类Menu.java如下 想通过roles属性做in查询,代码如下 错误如下: Parameter value [com.appmtce.pojo.entity.role.Role@20f81e2a] did not match expected type [java.util.Collection (n/a)] 我的S

  • 我有一个\u索引:varnish\u日志和\u类型:varnish 具有两个不同值的字段“server”:“India”和“server”:“usa” 现在我只想删除在美国的记录。 我试过用 $curl-XDELETE'http://localhost:9200/_all/_query?q=server:美国' 响应:未找到uri[]和方法的处理程序[DELETE] 请告诉我哪里错了

  • 它可以工作,但我想知道它访问mongo的确切查询 怎么做? 我尝试在以下属性中添加一些配置: 也不工作。 有人能帮忙吗?

  • 我正在尝试将分页与QueryDSL一起使用--使用com.mysema.QueryDSL包。 我所有的Querydsl查询类型都像这样- 目前,我的存储库实现类看起来像这样- 现在,我希望这个动态查询返回一个分页的响应。我想使用Spring的分页来实现,而不是手动设置偏移量、大小等。 我知道我可以使用QueryDslRepositorySupport类--如这里实现的-https://github

  • 我试图键入代码,以便在数据已经在sqlite中时禁用按钮。但是我发现了这个错误!你能帮我找到解决方案吗? 这是我犯的一个错误 E/AndroidRuntime:致命异常:主进程:com。实例提交文件4MadeGDK2019,PID:16246Android系统。数据库sqlite。SQLiteException:没有这样的专栏:Joker(代码1):,编译时:从android上的movie_fav