首页 > 解决方案 > 在 Spring Boot 上配置两个数据库后,我从查询中收到了 empy 答案,为什么?

问题描述

我正在尝试将两个数据库连接到 Spring Boot 项目。当我尝试查询时,数据库中的结果为空。

该应用程序正常启动

当我尝试查询时,我收到一个nullpointer exception

public class PGDataBaseConfig {

    @Bean(name = "Pgconfig")
    @Primary
    @ConfigurationProperties("spring.pgdatasource")
    public DataSourceProperties firstDataSourceProperties() {

        return new DataSourceProperties();
    }

    @Bean(name = "PG")
    @Primary
    public DataSource firstDataSource() {
        return firstDataSourceProperties().initializeDataSourceBuilder().type(HikariDataSource.class).build();
    }



    @Bean(name = "PGem")

    @Primary
    public LocalContainerEntityManagerFactoryBean pgEntity(EntityManagerFactoryBuilder builder,
@Qualifier("PG") DataSource firstDataSource) {

           HashMap<String,String>  map = new HashMap<>();


            map.put("hibernate.dialect", "org.hibernate.dialect.PostgreSQL9Dialect");
            map.put("hibernate.show_sql", "true");


        return builder.dataSource(firstDataSource).packages(".db.Postgress.Model").persistenceUnit("PGDB").properties(map)
                .build();
    }

    @Primary
    @Bean(name = "PGtrans")

    public PlatformTransactionManager transactionManager(@Qualifier("PGem") EntityManagerFactory entityManagerFactory) {
        return new JpaTransactionManager(entityManagerFactory);
    }

}

第二个数据库配置

@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef = "MSem",basePackages = "sla.db.ms", bootstrapMode = BootstrapMode.DEFAULT)
public class MSDataBaseConfig {

    @Bean(name ="MSConfig" )
    @ConfigurationProperties("spring.ms.datasource")
    public DataSourceProperties thirdDataSorceProperties() {
        return new DataSourceProperties();
    }


    @Bean(name = "MS")
    public DataSource thirdDataSource() {
        return thirdDataSorceProperties().initializeDataSourceBuilder().type(HikariDataSource.class).build();
    }

    @Bean(name = "MStrans")

      public PlatformTransactionManager transactionManager(
        @Qualifier("MSem") EntityManagerFactory 
        entityManagerFactory
      ) {
        return new JpaTransactionManager(entityManagerFactory);
      }

标签: javadatabasespring-boot

解决方案


推荐阅读