You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

返回类型与PagingAndSortingRepository不兼容及参数注解缺失问题排查

问题原因及解决方案

问题1:返回类型与父接口方法不兼容

你在AbstractRepository里重复声明的findAll(Pageable pageable)方法,没有继承PagingAndSortingRepository<M,String>中该方法的@NonNull返回值约束。父接口的该方法返回的是带@NonNull注解的Page,而你声明的方法返回的是普通Page<M>,编译器会判定二者的返回类型(包含注解契约)不兼容。

问题2:参数缺失@NonNull注解警告

父接口PagingAndSortingRepository的findAll(Pageable)方法中,Pageable参数被标记为@NonNull,但你重写的方法没有给该参数添加对应注解,静态代码检查工具会提示你违反了父接口的方法契约,缺失非空注解。

解决方案

最直接的解决方式是删除你自定义的findAll(Pageable pageable)方法——因为MongoRepository已经继承了PagingAndSortingRepository的这个方法,无需重复声明。

如果因特殊需求必须保留该方法声明,需要严格对齐父接口的注解约束:

@NoRepositoryBean
public interface AbstractRepository <M extends AbstractModel> extends MongoRepository<M, String> {
     @NonNull
     Page<M> findAll(@NonNull Pageable pageable);
     Page<M> findAllByIsActive(boolean isActive, Pageable pageable);
}

内容的提问来源于stack exchange,提问作者Ramon Jales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 16:03:12