为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot,Spring Data JPA,带有多个DataSources

Spring Boot,Spring Data JPA,带有多个DataSources

qq_遁去的一_1 2019-09-02 08:31:49
我正在尝试使用Spring Boot和Spring Data JPA将每个@Repositories连接到不同的DataSource。我使用以下内容http://xantorohara.blogspot.com/2013/11/spring-boot-jdbc-with-multiple.html作为参考。以下是我试图使用Spring Data JPA实现类似解决方案时使用的代码。CustomerDbConfig.java(第一个数据源连接)@Configuration@EnableJpaRepositories(        entityManagerFactoryRef = "orderEntityManager",        transactionManagerRef = "orderTransactionManager",        basePackages = {"com.mm.repository.customer"})public class CustomerDbConfig {    @Bean(name = "customerEntityManager")    public LocalContainerEntityManagerFactoryBean entityManagerFactory(){        LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();        em.setDataSource(dataSource());        em.setPackagesToScan(new String[] {"com.mm.domain.customer"});        JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();        em.setJpaVendorAdapter(vendorAdapter);        em.setJpaProperties(additionalJpaProperties());        em.setPersistenceUnitName("customerPersistence");        em.setPackagesToScan("com.mm.domain.customer");        return em;    }    Properties additionalJpaProperties(){        Properties properties = new Properties();        properties.setProperty("hibernate.hbm2ddl.auto", "create-drop");        properties.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect");        properties.setProperty("hibernate.show_sql", "true");        return properties;    }    @Bean    public DataSource dataSource(){        return DataSourceBuilder.create()                .url("jdbc:h2:mem:customer:H2")                .driverClassName("org.h2.Driver")                .username("sa")                .password("")                .build();    }   
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 1355 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信