Лучший способ настроить несколько наборов репозиториев, которые подключаются к разным БД, в Spring Data JPA - PullRequest
0 голосов
/ 01 февраля 2019

Некоторые из наших микросервисов должны подключаться к нескольким базам данных.Мои конфиг-классы для репозиториев выглядят очень похоже.Это не много кода, но это очень шаблонно.От 2 до 3 раз на микросервис, и на многих микросервисах получается больше повторений, чем хотелось бы.Есть ли более сухой подход?Мне бы понравилась пользовательская аннотация, которая может взять несколько деталей, а затем подключить все нужные мне бобы.Но не уверен, что есть лучшее решение.

@Configuration
@EnableJpaRepositories(
        basePackageClasses = SomeRepository.class,
        entityManagerFactoryRef = "someEntityManagerFactory",
        transactionManagerRef = "someTransactionManager"
)
@EnableTransactionManagement
public class SomeDbConfig {
    @Bean(name = "someDataSource")
    public DataSource dataSource(DbProperties dbProperties) {
        ...
    }

    @Bean(name = "someEntityManagerFactory")
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(
            EntityManagerFactoryBuilder builder,
            @Qualifier("someDataSource") DataSource dataSource) {
        ...
    }

    @Bean(name = "someTransactionManager")
    public PlatformTransactionManager transactionManager(
            @Qualifier("someEntityManagerFactory") EntityManagerFactory entityManagerFactory
    ) {
        return new JpaTransactionManager(entityManagerFactory);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...