복붙노트

[SPRING] Spring jpa로 Hibernate MultiTenancy

SPRING

Spring jpa로 Hibernate MultiTenancy

별도의 스키마를 사용하여 내 응용 프로그램에 여러 임차인을 추가하고 싶습니다. 내 응용 프로그램은 spring jpa 및 hibernate를 기반으로합니다. MultiTenantConnectionProvider 및 CurrentTenantIdentifierResolver를 구현합니다. 그리고 구성 클래스는 다음과 같습니다.

@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource){

    LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();

    entityManagerFactory.setPackagesToScan("com.**.api.entity");
    HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter();
entityManagerFactory.setJpaVendorAdapter(hibernateJpaVendorAdapter);
    Properties jpaProperties = new Properties();
    jpaProperties.put("hibernate.globally_quoted_identifiers",true);
    jpaProperties.put("hibernate.dialect",org.hibernate.dialect.MySQL5Dialect.class);
    jpaProperties.put("hibernate.multi_tenant_connection_provider",multiTenantConnectionProvider);
    jpaProperties.put("hibernate.tenant_identifier_resolver",currentTenantIdentifierResolver);
    jpaProperties.put("hibernate.multiTenancy","SCHEMA");
    entityManagerFactory.setJpaProperties(jpaProperties);

    return entityManagerFactory;
}

그리고 MapDataSourceLookup을 사용하여 dataSources.It을 저장합니다.하지만 약간 문제가 있습니다. packagesToScan을 지정해야합니다. 기본 서비스로 사용하고 싶습니다. 일부 응용 프로그램에 의존합니다. packagesToScan을 지정하는 것이 좋은 방법이 아닙니다.

더 좋은 방법이 있습니까?

해결법

    from https://stackoverflow.com/questions/44366221/hibernate-multitenancy-with-spring-jpa by cc-by-sa and MIT license