java spring data 3.0分页和排序存储库,从2.0迁移

jjjwad0x  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(178)

对于任何一个懂java的人来说,这可能是一个愚蠢的问题,但我只是从逻辑的Angular 来看,它似乎没有那么简单。
以前,当PagingAndSortingRepository在springdata2.0中扩展CrudRepository时,我们有这样一段运行良好的代码

public abstract class AbstractBaseServiceImpl<R extends PagingAndSortingRepository<E, K>, E extends AbstractBaseEntity, K extends Serializable, M> implements AbstractBaseService<E, K, M> {

    protected Logger logger = LoggerFactory.getLogger(getClass());

    protected R repository;

现在,当尝试使用 Spring Boot 3时,例如,这将不起作用

E entity = repository.findById(id).orElse(null);

因为PagingAndSortingRepository不再有findById,因为它是从CrudRepository继承的。我找到了这个问题的解决方案https://spring.io/blog/2022/02/22/announcing-listcrudrepository-friends-for-spring-data-3-0,但不知道如何在这里实现修复。我尝试的任何语法都不起作用。
试过了,好像不太对

public abstract class AbstractBaseServiceImpl<R extends PagingAndSortingRepository<E, K>, CrudRepository<E, K>, E extends AbstractBaseEntity, K extends Serializable, M> implements AbstractBaseService<E, K, M> {

所以,希望我能从这里得到一个快速修复,也许在路上学到一些东西:)

zqry0prt

zqry0prt1#

我认为您应该通过如下声明R来使其工作:

<R extends CrudRepositor<E, K> & PagingAndSortingRepository<E, K>, …>

相关问题