Spring Boot Data JPA中如何使用一种以上类型的数据库?

时间:2018-07-04 08:45:26

标签: mysql postgresql spring-boot spring-data-jpa

实际上,这个问题导致了spring.jpa的配置以及JpaProperties的Bean管理。

通常,我们将以下配置用于postgresql:

 spring:
      jpa:
        database: default
        database-platform: org.hibernate.spatial.dialect.postgis.PostgisPG9Dialect
        hibernate:
          ddl-auto: update
        properties:
          open-in-view: true
          hibernate:
            enable_lazy_load_no_trans: true
      datasource:
        url: ...
        driver-class-name: org.postgresql.Driver

但是如果我有另一个mysql数据库,如何同时使用它们?

编辑: 实际上,我在数据库中使用了地理数据,所以org.hibernate.spatial.dialect.mysql 要么 org.hibernate.spatial.dialect.postgis.PostgisPG9Dialect 用来。 我发现它必须在spring.jpa中设置,所以我认为必须有两个JpaProperties,但是我不知道该怎么做。 我尝试过

@Bean
@Primary
@ConfigurationProperties(prefix = "spring.jpa.general")
public JpaVendorAdapter jpaVendorAdapterGeneral(){
    return new HibernateJpaVendorAdapter();
}

使用

spring:
  jpa:
    general:
      database-platform: org.hibernate.spatial.dialect.postgis.PostgisPG9Dialect

但是我失败了。

0 个答案:

没有答案