如何创建JpaRepository的bean

时间:2019-04-20 09:08:18

标签: hibernate spring-boot

我有界面:

@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);
        }

}

但是此存储库实际上为空。.如何将其与此类连接?以电子方式创建JpaRepository的适当bean(我不想通过实现此接口repo来创建类)

1 个答案:

答案 0 :(得分:0)

我的建议:

您似乎通过包装Jpa实体并将存储库注入域对象来尝试实现Active Record模式(每个实体负责自身的持久化)。

这在春季很少实践。 而是创建一个带有@Service注释的服务类。 在此处注入您的存储库类。 调用您的存储库方法以获取实体。

Spring仅将对象注入到托管bean。 您的EmployeeWithRepositori不受管理,因此不会注入任何东西