我有界面:
@Repository
public interface EmpoleyeeRepository extends
HumanRepository<Employee, Long> {
}
@NoRepositoryBean
public interface HumanRepository<T, ID> extends JpaRepository<T, ID> {}
和我的班级:
public class EmployeeClassWithRepositor {
@Autowired
private EmpoleyeeRepository employeeRepository;
EmployeeClassWithRepositor() {
Optional<Employee> employee = employeeRepository.findById(1L);
}
}
但是这个存储库实际上是空的..我如何用这个类连接它? Ewentually创建适当的JpaRepository bean(我不想创建具有实现此接口repo的类)
我的建议:
看起来你正试图通过包装Jpa实体并将存储库注入域对象来实现Active记录模式(每个实体负责持久化)。
这在Spring很少实践。而是创建一个使用@Service注释的服务类。在那里注入您的存储库类。调用存储库方法以获取实体。
Spring仅将对象注入托管bean。您的EmployeeWithRepositori不受管理,因此不会注入任何内容