我使用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;
我该如何解决这个问题?