我正在尝试实现自定义Spring存储库 . 我有界面:
public interface FilterRepositoryCustom {
List<User> filterBy(String role);
}
实施:
public class FilterRepositoryImpl implements FilterRepositoryCustom {
...
}
和“主”存储库,扩展我的自定义存储库:
public interface UserRepository extends JpaRepository<User, String>, FilterRepositoryCustom {
...
}
我正在使用Spring Boot,根据docs:
默认情况下,Spring Boot将启用JPA存储库支持并查看@SpringBootApplication所在的包(及其子包) .
当我运行我的应用程序时,我收到此错误:
org.springframework.data.mapping.PropertyReferenceException:找不到类型User的属性filterBy!
2 回答
这里的问题是你正在创建 FilterRepositoryImpl 但是你在 UserRepository 中使用它 . 您需要创建 UserRepositoryImpl 才能使其正常工作 .
Read this doc for more detail
基本上
旧方式:
实体aThing = repository.findOne(1L);新方法:
可选aThing = repository.findById(1L);