【发布时间】:2017-07-13 07:47:09
【问题描述】:
我在我的应用程序中有两个要连接的数据库。
我想设置一个仅限开发人员的配置文件,使用嵌入式 H2 数据库模拟这些数据库,并且我想使用 spring.jpa.generate-ddl=true 自动创建它们的架构。每个数据库的实体类都在不同的java包中,希望对我有帮助。
使用 spring 的 autoconf 机制可以做到这一点吗?
【问题讨论】:
标签: spring-boot h2 spring-orm
我在我的应用程序中有两个要连接的数据库。
我想设置一个仅限开发人员的配置文件,使用嵌入式 H2 数据库模拟这些数据库,并且我想使用 spring.jpa.generate-ddl=true 自动创建它们的架构。每个数据库的实体类都在不同的java包中,希望对我有帮助。
使用 spring 的 autoconf 机制可以做到这一点吗?
【问题讨论】:
标签: spring-boot h2 spring-orm
spring boot 中可以使用多个数据库。 但是spring boot只能自动配置一个数据库。 您需要自己配置第二个数据库。
@Bean
@ConfigurationProperties(prefix="second.datasource")
public DataSource secondDataSource(){
return DataSourceBuilder
.create()
.driverClassName("org.h2.Driver")
.build();
}
如果您只需要一个 jdbc 连接,这已经足够了。当您想使用 JPA 时,您还需要使用第二个数据源的第二个 JPA 配置。
@Bean(name="secondEntityManager")
public LocalContainerEntityManagerFactoryBean mySqlEntityManagerFactory(EntityManagerFactoryBuilder builder,DataSource secondDataSource){
return builder.dataSource(secondDataSource)
.packages("com.second.entity")
.build();
}
你可以找到上面的代码和更多in this post
【讨论】: