[英]Two Entity Managers in Spring Appliation (Arrango and JPA)
我正在为我的应用程序使用两个 Spring Entity 管理器,Arrango 和 JPA。
@EnableSwagger2
@ComponentScan(basePackages = "com.xyz.abc")
@EnableArangoRepositories(basePackages = {"com.xyz.abc"})
@EnableJpaRepositories(basePackages = {"com.xyz.abc"})
@EntityScan(basePackages = "com.xyz.abc")
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@EnableProcessApplication
可以看出,我正在启用存储库访问。 现在,当我运行我的应用程序时,出现以下错误。
The bean 'XYZRepository', defined in com.xyz.abc.core.data.repository.XYZRepository defined in @EnableJpaRepositories declared on MYControllerAPP, could not be registered. A bean with that name has already been defined in com.xyz.abc.core.data.repository.XYZRepository defined in @EnableArangoRepositories declared on MyControllerAPP and overriding is disabled.
Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true
当我将覆盖 bean 定义添加到我的 application.yml 文件时。 错误变为:
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'qualityService': Unsatisfied dependency expressed through field 'master'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'masterDataRepository' defined in com.xyz.abc.core.data.repository.MasterDataRepository defined in @EnableJpaRepositories declared on QualityControllerApp: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class com.xyz.abc.core.data.model.MasterData
这是我的 MasterDataRepository 接口:
interface MasterDataRepository extends ArangoRepository<MasterData, String>
{
//Hibernate
}
我认为基本问题是:
@EnableArangoRepositories(basePackages = {"com.xyz.abc"})
@EnableJpaRepositories(basePackages = {"com.xyz.abc"})
您应该为不同的存储库提供程序设置不同的包。 您将无法将一个实体类与不同的存储库一起使用。 尝试将ArangoRepository
实体和JpaRepository
实体分开。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.