如何在@Autowire和@Qualifier中使用一个包含多个数据库的实体类

时间:2016-04-01 11:33:28

标签: java spring spring-data-jpa

我使用https://github.com/manish-in-java/spring-boot-transaction的项目。 我将application.properties更改为:

datasource.admin.url=jdbc:mysql://localhost/multidbadmin
datasource.admin.username=multidbuser
datasource.admin.password=multidbuser

datasource.local.url=jdbc:mysql://localhost/multidblocal
datasource.local.username=multidbuser
datasource.local.password=multidbuser

spring.jpa.database=mysql
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.generate-ddl=false

在项目中,分配给AdminConfiguration的客户实体将产品实体分配给LocalConfiguration。

现在,我想在每个配置中使用两个实体。所以我想通过自动装配与@Qualifier合作来区分数据源/事务。

因此,我将存储库的“basePackages”路径更改为“org.example.data”,以将TransactionManagers中的每个JPARepository和实体的packages -path转换为“org.example.domain”以启用每个实体(开发一次 - 因为我不想两次写客户实体,一个在包A中,另一个在包B中)。

然后我希望有类似的东西:

@Autowired
@Qualifier("adminRepository")
private CustomerRepository adminRepository;

@Autowired
@Qualifier("userRepository")
private CustomerRepository userRepository;

我该如何解决这个问题?

0 个答案:

没有答案