对于任何一个懂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> {
所以,希望我能从这里得到一个快速修复,也许在路上学到一些东西:)
1条答案
按热度按时间zqry0prt1#
我认为您应该通过如下声明
R
来使其工作: