我正在使用import org.springframework.data.repository.support.Repositories
在 Quartz Job 中获取 Spring Data Repository 的实例。
该类Repositories
有一个getRepositoryFor(Class<?> domainClass)
返回相应存储库实例的方法,但是存储库的类型为CrudRepository<Object, Serialiazable>
.
如果我尝试将返回CrudRepository
的内容向上转换为自定义存储库类型CustomerRepository
,Eclipse 会通知我我无法执行转换。
// Eclipse Error: Cannot cast from CrudRepository<Object,Serializable>
// to CustomerRepository
this.customerRepository =
(CustomerRepository)super.repositories.getRepositoryFor(Customer.class);
但是,如果我将存储库分配给一个类型的字段,CrudRepository<Customer, Long> repository
我可以将其转换为CustomerRepository
.
//No Problems here
CrudRepository<Customer, Long> repository =
super.repositories.getRepositoryFor(Customer.class);
CustomerRepository repository = (CustomerRepository) repository;
有没有办法避免执行此演员阵容所需的中间步骤?
是什么导致了第一个演员的问题?