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&lt;Ccy&gt; 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 构造函数

GLSL——texture1D 已被弃用,改用啥?

为啥 InstanceMethods 模块已被弃用?

HttpEntity 现在在 Android 上已被弃用,还有啥替代方案?

@angular-cli 安装失败,请求被弃用@2.88.2:请求已被弃用(mac)