Не работает ли для вас определение нескольких источников данных и в зависимости от вашего запроса изменится на правильную схему?
spring.datasource.url = jdbc:oracle:thin:@//maui:1521/xe
spring.datasource.username = schema1
spring.datasource.password = ...
spring.datasource2.url = jdbc:oracle:thin:@//maui:1521/xe
spring.datasource2.username = schema2
spring.datasource2.password = ..
@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource")
public DataSource schema1() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix="spring.datasource2")
public DataSource schema2() {
return DataSourceBuilder.create().build();
}
В противном случае вам нужно убить & повторно создать соединение, чтобы с помощью одного источника данных, но это будет очень медленно для вашего приложения, поскольку повторное подключение снова и снова. Было бы лучше, если бы вы использовали некоторую базу данных NoSQL для достижения этого динамического хранилища данных.
Пожалуйста, объясните необходимость идентичных таблиц 1K. (У ссылки, казалось, было ложное впечатление, что она будет как-то лучше, чем таблица с одним миллиардом строк.) –
Вы используете Hibernate? Или прямой JDBC? – koe
Я использую JPA и JDBC – AndroidDev