问题描述
我已创建此存储库:
@Repository
public interface OrganisationRepository extends JpaRepository<Organisation,Long> {
}
但是当我使用它时:
organisationRepository.findOne(1L);
Inferred type 'S' for type parameter 'S' is not within its bound; should extend` 'com.cor.de.la.ciutat.Organisation'
解决方法
您必须使用.orElse
,因为findOne返回Optional<S>
organisationRepository.findOne(1L).orElse(null);
,
很明显,您的spring-data-jpa版本是2.x。他们将findOne()
重命名为findById()
(and changed its signature a bit)。
findOne()
仍存在于QueryByExampleExecutor中,但只能用于queries by example,不能用于通过主键进行搜索。
因此,使用此:
organisationRepository.findById(1L).orElse(null);