微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我已创建此存储库:

@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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。