2016-08-11 19 views
0

Ich versuche, es von diesem Beispiel https://github.com/spring-projects/spring-data-examples/tree/master/jpa/multiple-datasources modellieren, aber sie scheinen nicht eine Eigenschaftendatei verwenden, die mich verwirrt. Wie geben sie den Datenbanknamen, die Anmeldeinformationen und die URL ein? Die Art und Weise habe ich zur Zeit ist es so:Verbindung zu mehreren Datenbanken Spring Boot JPA?

Dies ist meine Config-Datei für eine meiner Datenbanken: LM_Config.java

@Configuration 
@EnableJpaRepositories(entityManagerFactoryRef = "lmEntityManagerFactory", 
     transactionManagerRef = "lmTransactionManager") 
class LM_Config { 

    @Bean 
    PlatformTransactionManager lmTransactionManager() { 
     return new JpaTransactionManager(lmEntityManagerFactory().getObject()); 
    } 

    @Bean 
    LocalContainerEntityManagerFactoryBean lmEntityManagerFactory() { 

     HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); 
     vendorAdapter.setGenerateDdl(true); 

     LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); 

     factoryBean.setDataSource(lmDataSource()); 
     factoryBean.setJpaVendorAdapter(vendorAdapter); 
     factoryBean.setPackagesToScan(LM_Config.class.getPackage().getName()); 

     return factoryBean; 
    } 


    @Bean 
    @Primary 
    @ConfigurationProperties(prefix="spring.datasource") 
    public DataSource lmDataSource() { 
     return DataSourceBuilder.create().build(); 
    } 

} 

Dies ist meine Config-Datei für eine meiner Datenbanken: MTS_Config.java

@Configuration 
@EnableJpaRepositories(entityManagerFactoryRef = "mtsEntityManagerFactory", 
     transactionManagerRef = "mtsTransactionManager") 
class MTS_Config { 

    @Bean 
    PlatformTransactionManager mtsTransactionManager() { 
     return new JpaTransactionManager(mtsEntityManagerFactory().getObject()); 
    } 

    @Bean 
    LocalContainerEntityManagerFactoryBean mtsEntityManagerFactory() { 

     HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); 
     vendorAdapter.setGenerateDdl(true); 

     LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); 

     factoryBean.setDataSource(mtsDataSource()); 
     factoryBean.setJpaVendorAdapter(vendorAdapter); 
     factoryBean.setPackagesToScan(MTS_Config.class.getPackage().getName()); 

     return factoryBean; 
    } 


    @Bean 
    @Primary 
    @ConfigurationProperties(prefix="spring.mtsDatasource") 
    public DataSource mtsDataSource() { 
     return DataSourceBuilder.create().build(); 
    } 

} 

Dies ist meine Datei application.properties. Die wichtigsten Punkte des Interesses sollen diejenigen sein, beginnend in spring.datasource... und spring.mtsDatasource...

hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect 
hibernate.show_sql=true 
hibernate.format_sql=true 
hibernate.default_schema=dbo 
hibernate.packagesToScan=src.repositories.LMClientRepository.java 

spring.jpa.generate-ddl=true 
spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.DefaultNamingStrategy 
spring.datasource.username=LOADdev 
spring.datasource.password=lmtdev01 
spring.datasource.url=jdbc:sqlserver://schqvsqlaod:1433;database=dbMOBClientTemp;integratedSecurity=false; 
spring.datasource.testOnBorrow=true 
spring.datasource.validationQuery=SELECT 1 
spring.jpa.database=dbMOBClientTemp 
spring.jpa.show-sql=true 
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect 
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver 
#spring.jpa.hibernate.ddl-auto=none 
#spring.jpa.hibernate.ddl-auto=none 
#spring.jpa.properties.hibernate.hbm2ddl.auto=none 

spring.mtsDatasource.username=mtsj 
spring.mtsDatasource.password=mtsjapps 
spring.mtsDatasource.url=jdbc:sqlserver://SCHQVSQLCON2\VSPD:1433;database=dbMTS;integratedSecurity=false; 
spring.mtsDatasource.testOnBorrow=true 
spring.mtsDatasource.validationQuery=SELECT 1 
+2

http://stackoverflow.com/questions/30362546/how-to-use-2-or-more-databases-with-spring beziehen sich auf diesen Beitrag – Priyamal

+0

Sie haben nicht angegeben, was Ihr Problem ist und diese Frage ein Duplikat. Überprüfen Sie die Antwort @Priyamal, die mit Ihnen verknüpft ist. – JudgingNotJudging

+0

https://github.com/spring-projects/spring-data-examples/tree/master/jpa/multiple-datasources – Pau

Antwort

0

sie scheinen nicht eine Eigenschaft zu verwenden Datei, die ich ist verwirrend. Wie geben sie den Datenbanknamen, die Anmeldeinformationen und die URL ein?

Die Antwort darauf ist, dass das Beispiel einer eingebettete Datenbank verwendet, so dass es keinen DB-Namen, Benutzername, etc ..

Für Ihre Hauptfrage, die ähnlichen Fragen in der Seitenleiste überprüfen, schauen in der Dokumentation für @Qualifier, und kommen Sie mit einer spezifischeren Frage zurück.

Verwandte Themen