PageRequest 构造函数已被弃用
Posted
技术标签:
【中文标题】PageRequest 构造函数已被弃用【英文标题】:PageRequest constructors have been deprecated 【发布时间】:2017-12-04 13:02:18 【问题描述】:我正在处理 Spring Data Commons v2+ 快照,我看到 PageRequest
的构造函数已被弃用。这似乎发生在M1 和M2 之间。不幸的是,这是Pageable
接口的唯一[真正] 实现。我想知道努力的方向,以及对于当前的开发有什么更好的选择。
【问题讨论】:
它也出现在 [M3]docs.spring.io/spring-data/commons/docs/2.0.0.M3/api/org/… 【参考方案1】:自 Spring v2.0 起:
PageRequest.of()
是静态方法,不需要构造new PageRequest()
实例。
使用这个静态方法来创建一个新的未排序的PageRequest
:
PageRequest.of(int page, int size)
【讨论】:
【参考方案2】:我们可以使用PageRequest.of(offset, limit)
代替new PageRequest(offset, limit)
。
在这种情况下,我们不需要使用已弃用的构造函数。
【讨论】:
【参考方案3】:您可以使用以下解决方案来解决您的问题:
Page<User> users=userService.findByUserType(id,PageRequest.of(1, 3));
【讨论】:
请解释为什么这样可以解决问题。【参考方案4】:只是已弃用的构造函数。而不是
new PageRequest(firstResult, maxResults, new Sort(...))
你现在可以使用
PageRequest.of(firstResult, maxResults, Sort.by(...))
就是这样。
【讨论】:
Spring Boot 2.0.0.RC1,例如:Page<Ccy> currencyList = ccyRepository.findAll(PageRequest.of(evalPage, evalPageSize));
从 Spring v2.0 开始使用静态 PageRequest::of 方法而不是构造一个新的 PageRequest 实例。查看更多docs.spring.io/spring-data/commons/docs/current/api/org/…
我想知道为什么 Spring Data 引用仍然使用示例中已弃用的构造函数,因为它们已被弃用一年多。
如果您之前没有传入 Sort 实例的构造函数,这也将起作用。
是的,我想知道为什么 javadoc 没有说明弃用原因,也没有提及新的工厂方法。以上是关于PageRequest 构造函数已被弃用的主要内容,如果未能解决你的问题,请参考以下文章
谷歌地图 v2 中是不是弃用了“构造函数 LocationRequest()”?
如何将 useUnifiedtopology 属性添加到 MongoClient 构造函数