类型参数“ S”的推断类型“ S”不在其范围内

时间:2020-11-05 09:17:56

标签: java spring jpa spring-data-jpa spring-data

我已创建此存储库:

@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'

2 个答案:

答案 0 :(得分:1)

您必须使用.orElse,因为findOne返回Optional<S>

organisationRepository.findOne(1L).orElse(null);

答案 1 :(得分:1)

很明显,您的spring-data-jpa版本是2.x。他们将findOne()重命名为findById()and changed its signature a bit)。

findOne()仍存在于QueryByExampleExecutor中,但只能用于queries by example,不能用于通过主键进行搜索。

因此,使用此:

organisationRepository.findById(1L).orElse(null);
相关问题