我正在编写一个具有多个数据源和实体管理器的 Spring Boot 应用程序,我想使用 JPA CrudRepository 接口(interface),如:
@Repository public interface Car extends CrudRepository<Car.class, Long> {}

我收到以下错误:



我一直无法弄清楚在构建存储库时如何告诉 JpaRepositoryFactory 使用哪个实体管理器。它默认尝试注入(inject)一个名为:entityManagerFactory 的 EntityManagerFactory

最佳答案

检查这个 documentation 的属性。

在 Java 配置类上使用下面的 @EnableJpaRepositories 注释
带有 entityManagerFactoryReftransactionManagerRef 属性。

@EnableJpaRepositories(basePackages = {
        "com.myapp.repositories" }, entityManagerFactoryRef = "entityManagerFactoryRef1", transactionManagerRef = "transactionManagerRef1")

删除 @Repository 接口(interface)上的 Car 注释。如果指定 basePackages 属性,Spring 会将其注册为 JPA 存储库。

关于spring - 定义与 JpaRepository 关联的实体管理器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34800820/

10-11 23:44