我正在尝试实现自定义的Spring repository。我有以下接口:
public interface FilterRepositoryCustom {
List<User> filterBy(String role);
}
实施:public class FilterRepositoryImpl implements FilterRepositoryCustom {
...
}
并且“主”代码库,扩展我的自定义代码库:
public interface UserRepository extends JpaRepository<User, String>, FilterRepositoryCustom {
...
}
我正在使用Spring Boot,并根据 文档 :
默认情况下,Spring Boot将启用JPA存储库支持并查找 @SpringBootApplication所在的包(及其子包)。
当我运行我的应用程序时,我遇到了这个错误:
org.springframework.data.mapping.PropertyReferenceException: No property filterBy found for type User!
UserRepository
的存储库上使用了CustomizedUserRepositoryImpl
。然后,文档进一步说明(示例29)同时在UserRepository
上使用HumanRepositoryImpl
和ContactRepositoryImpl
。它们似乎表明重要的是片段实现名称与片段接口名称匹配,而不是基本存储库名称,但从我所见的情况来看,这显然并不是这种情况。我感到困惑... - matt forsythe