SpringData2.0是否更改了排序和分页的可空性规则?
我正在从spring boot 1.5.6迁移到2.1.7,面临着很多问题 当我看到关于迁移的讨论时,看起来很简单,但对我来说不是。我有两个非常大的问题:SpringData2.0是否更改了排序和分页的可空性规则?,spring,spring-data-jpa,spring-data,Spring,Spring Data Jpa,Spring Data,我正在从spring boot 1.5.6迁移到2.1.7,面临着很多问题 当我看到关于迁移的讨论时,看起来很简单,但对我来说不是。我有两个非常大的问题: 我实现了一个过滤器来生成一个uncrypt uri进程,并使用请求调度器再次调用过滤器。在1.5.6中,代码正常,请求进入doFilter,取消加密,httpRequest.getDispatcher.forward并再次调用doFilter,最后调用chain.doFilter 现在在spring boot 2.1.7中,requestDi
doFilter
,取消加密,httpRequest.getDispatcher.forward
并再次调用doFilter
,最后调用chain.doFilter
现在在spring boot 2.1.7中,requestDispatcher的转发没有达到第二次doFilter
。。。从来没在上面找到过医生/api/users
(这意味着findAll
)这样的基本调用在1.5.6上工作,但在2.1.7中由于排序的原因导致NPE失败。我不能调用像/api/users
或/api/users/7/books
这样的findAll
,我总是得到一个错误:有人得到解释了吗?是的。
Sort
和Pageable
现在都通过Sort.unsorted()
和Pageable.unpaged()
公开专用的空对象,特别是表示没有排序或分页信息
如果启用基于注释的空值验证,您应该已经看到IDE警告。也就是说,我只是重新检查了Javadoc和ReferenceDoc,认为我们可以在这里做得更好。我已经提交了以下票据:
- (已修复)-关于存储库参考文档中可空性的常规文档更新
- (修复)-Querydsl API中的可空性约束
- (修复)-收紧Spring数据JPAs Querydsl集成中的可空性约束
Pageable.unpaged()
和sort.unsorted()
。假设您有一个方法findByUsername(String username,sort sort)
,而不是用findByUsername(“username”,null)
调用它来不应用任何排序,您现在必须findByUsername(“用户名”,Sort.unsorted())
。这同样适用于Pageable
。