泛型错误 "bound dismatch" 使用 Spring SimpleJpaRepository
Generics error "bound dismatch" using Spring SimpleJpaRepository
我正在使用 Spring 数据,当我尝试创建 SimpleJpaRepository 的 bean 时,编译器将我标记为错误。这是代码
@Bean
protected <domainClass, Long> SimpleJpaRepository<domainClass, **Long**> getSimpleJpaRepository(Class domainClass) {
return new SimpleJpaRepository<>(domainClass, this.entityManager);
}
我用*标记的Long有错误:"Bound dismatch: the type Long is not a valid substitute for the bounded parameter of the type 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);
}
我正在使用 Spring 数据,当我尝试创建 SimpleJpaRepository 的 bean 时,编译器将我标记为错误。这是代码
@Bean
protected <domainClass, Long> SimpleJpaRepository<domainClass, **Long**> getSimpleJpaRepository(Class domainClass) {
return new SimpleJpaRepository<>(domainClass, this.entityManager);
}
我用*标记的Long有错误:"Bound dismatch: the type Long is not a valid substitute for the bounded parameter of the type 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);
}