我正在使用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);
}