#spring-boot #spring-data-jpa
#spring-boot #spring-data-jpa
Вопрос:
У меня есть несколько подключений к базе данных с именованными EntityManagers:
@Bean(name = "integDB")
@Primary
@ConfigurationProperties(prefix="spring.datasource")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "integEM")
public LocalContainerEntityManagerFactoryBean integDbEntityManagerFactory(EntityManagerFactoryBuilder builder) {
....
}
Как мне указать, какой менеджер сущностей использовать здесь?
@Repository
public interface IntControleFilaRepository extends JpaRepository<IntControleFilaEntity, String> {
}
Весна жалуется на это:
Параметр 0 конструктора в … требуется компонент с именем ‘EntityManagerFactory’, который не удалось найти.
Ответ №1:
Создайте класс конфигурации для каждой базы данных и укажите EntityManager, связанный с каждой из них:
@Configuration
@EnableJpaRepositories(basePackages = {"..."}, entityManagerFactoryRef = "integEM", transactionManagerRef = "integTM")
public class IntegReposConfig {
}