Closed ytjdud closed 4 months ago
multiple databases 를 사용하고 있기 때문에
즉, 각 DB 마다 Config 로 LocalContainerEntityManagerFactoryBean 를 생성하고 있기에
LocalContainerEntityManagerFactoryBean 에서 property(hbm2.ddl.auto) 를 build 해주어야함.
그리고 application.yml 에 작성한 hibernate:ddl-auto 는 지운다.
After
@Bean
public LocalContainerEntityManagerFactoryBean bankCoreEntityManager(
EntityManagerFactoryBuilder builder
) {
// 추가
Map<String, Object> properties = new HashMap<>();
properties.put("hibernate.hbm2ddl.auto", "update");
return builder
.dataSource(bankCoreDataSource())
.packages("com.capstone2024.sw.kmu.exchangeservice.domain.bankcore")
.persistenceUnit("bankcore")
.properties(properties)
.build();
}
before
@Bean
public LocalContainerEntityManagerFactoryBean bankCoreEntityManager() {
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
entityManagerFactoryBean.setDataSource(bankCoreDataSource());
entityManagerFactoryBean.setPackagesToScan("com.capstone2024.sw.kmu.exchangeservice.domain.bankcore");
entityManagerFactoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
return entityManagerFactoryBean;
자세한 정리 : https://the0.tistory.com/49
Application.yml 에서 jpa:hibernate:ddl-auto: 설정한게 작동하지 않음.