-1
我有每個正在處理不同的實體兩個數據源。我已成立實體掃描包實體管理器來掃描不同的包。而且我已經配置「hibernate.hbm2ddl.auto」進行更新。應用程序啓動時,休眠正在打造兩個數據源表。我的要求是創建映射到相應數據源的表。Springboot多個數據源Entityscan
我有每個正在處理不同的實體兩個數據源。我已成立實體掃描包實體管理器來掃描不同的包。而且我已經配置「hibernate.hbm2ddl.auto」進行更新。應用程序啓動時,休眠正在打造兩個數據源表。我的要求是創建映射到相應數據源的表。Springboot多個數據源Entityscan
您可以創建兩個文件schema.sql文件(你DDL的像創建ALTER下降)和data.sql(你DML的像插入,刪除)爲您的資源文件夾中的每個數據源。那麼你應該把財產你application.properties
運行腳本時,應用程序啓動:spring.jpa.hibernate.ddl-auto=none
之後,在你的Application.java
類,創建一個方法來運行腳本:
這是第一DS:
@Bean(name = "dataSource")
public DriverManagerDataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.h2.Driver");
dataSource.setUrl("ds url");
dataSource.setUsername("");
dataSource.setPassword("");
// schema init
Resource initSchema = new ClassPathResource("scripts/schema-first.sql");
Resource initData = new ClassPathResource("scripts/data-first.sql");
DatabasePopulator databasePopulator = new
ResourceDatabasePopulator(initSchema, initData);
DatabasePopulatorUtils.execute(databasePopulator, dataSource);
return dataSource;
}
我覺得應該work.You可以創建你的第二個數據源的另一種方法。
你嘗試把'data.sql'和'schema.sql'在您的** **的資源文件夾 – fiskra
號我有兩個配置文件和兩個數據庫兩個獨立的實體包。 –