Hibernate multi-tenancy (схема) - не может автоматически создавать таблицы - PullRequest
0 голосов
/ 27 декабря 2018

Я использую последнюю версию Spring / JPA / Hibernate для доступа к моей базе данных MySQL.

Конфигурация выглядит следующим образом:

spring.jpa.hibernate.ddl-auto=create
spring.datasource.username=root
spring.datasource.password=

При обычной конфигурации (например, с одним арендатором) создаются отсутствующие таблицыавтоматически.Однако, когда я переключаюсь на мультитенанта:

@Bean
public LocalContainerEntityManagerFactoryBean 
entityManagerFactory(DataSource dataSource,

MultiTenantConnectionProvider multiTenantConnectionProviderImpl,

    CurrentTenantIdentifierResolver currentTenantIdentifierResolverImpl) {
    Map<String, Object> properties = new HashMap<>();
    properties.putAll(jpaProperties.getProperties());
    properties.put(Environment.MULTI_TENANT, MultiTenancyStrategy.SCHEMA);
    properties.put(Environment.MULTI_TENANT_CONNECTION_PROVIDER, 
    multiTenantConnectionProviderImpl);
    properties.put(Environment.MULTI_TENANT_IDENTIFIER_RESOLVER, 
    currentTenantIdentifierResolverImpl);
    LocalContainerEntityManagerFactoryBean em = new 
    LocalContainerEntityManagerFactoryBean();
    em.setDataSource(dataSource);
    em.setPackagesToScan("com.xxx");
    em.setJpaVendorAdapter(jpaVendorAdapter());
    em.setJpaPropertyMap(properties);
    return em;
}

При попытке получить элементы я получаю следующую ошибку:

java.sql.SQLSyntaxErrorException: Table 'tenant_1.User' doesn't exist

По какой-то причине отсутствующая таблица «Пользователи» неавтоматически создается по существующей схеме "tenant_1".Поддерживается ли автоматическое создание таблиц в мультитенантной конфигурации?Или я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...