我正在使用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;
有没有办法避免执行此演员阵容所需的中间步骤?
是什么导致了第一个演员的问题?