2017-02-23 48 views
0

我有兩個數據庫,我連接到我的應用程序。是否有可能在Spring Boot中運行兩個使用spring.jpa.generate-ddl填充的嵌入式數據庫?

我想設置一個dev-only配置文件,使用嵌入式H2數據庫嘲笑這些數據庫,並且我希望通過使用spring.jpa.generate-ddl=true自動創建它們的模式。每個數據庫的實體類都在不同的java包中,我希望這可以幫助我。

使用spring的autoconf機制,這樣的事情是可能的嗎?

回答

1

在spring引導中可以使用多個數據庫。 但春季開機只能自動配置一個數據庫。 您需要自己配置第二個數據庫。

@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

+0

感謝斯特凡。我設法讓我自己做到這一點。我的具體問題是試圖從我的實體類中填充這些嵌入式數據庫。我知道我可以使用schema.sql,但我想從實體中完成。 – user636747

相關問題