我正在使用Spring数据,当我尝试创建SimpleJpaRepository的bean时,编译器将我标记为错误。这是代码

@Bean
protected <domainClass, Long> SimpleJpaRepository<domainClass, **Long**> getSimpleJpaRepository(Class domainClass) {
    return new SimpleJpaRepository<>(domainClass, this.entityManager);
}


用*标记的Long出现错误:“绑定不匹配:Long类型不是SimpleJpaRepository类型的有界参数的有效替代物”

但是,当我写这篇文章时我没有错误

 private SimpleJpaRepository<Client, Long> support = new SimpleJpaRepository<>(Client.class, this.entityManager);


因此,我认为Long可能未实现Serializable,这是导致错误的原因,但是在最后一行中,我没有错误,因此我认为Long实际上是在实现Serializable。

您知道如何使通用方法起作用吗?谢谢!

最佳答案

您正在使用Long作为通用类型名称,并且还提供了Long作为具体类型。将名称更改为这样的名称

@Bean
protected <DC, L> SimpleJpaRepository<domainClass, Long> getSimpleJpaRepository(Class domainClass) {
    return new SimpleJpaRepository<>(domainClass, this.entityManager);
}

07-26 04:15