更改 Spring Boot 使用的数据库架构

新手上路,请多包涵

如何指定 Spring Boot 使用的数据库架构?我正在使用默认的休眠(=默认)和 postgres(但我希望有一个通用的解决方案)。我知道如何指定 JDBC URL:

 spring.datasource.url=jdbc:postgresql:db_name

但不幸的是,postgresql 不允许在 JDBC URL 中指定模式。我知道有休眠属性 hibernate.default_schema ,所以我希望以下属性之一可以工作:

 hibernate.default_schema=schema
spring.hibernate.default_schema=schema
spring.jpa.hibernate.default_schema=raw_page

但不幸的是,他们俩似乎都没有任何结果。

原文由 Paperback Writer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 813
2 个回答

用于 application.properties

 spring.jpa.properties.hibernate.default_schema=your_scheme

或者对于 application.yaml

 spring:
  jpa:
    properties:
      hibernate.default_schema: your_scheme

来自 Spring Boot 参考指南:

当创建本地 EntityManagerFactory 时, spring.jpa.properties.* 中的所有属性都作为普通 JPA 属性(去掉前缀)传递

请参阅 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-configure-jpa-properties

有关可用属性的完整列表,请参阅 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-configure-jpa-properties

原文由 M. Deinum 发布,翻译遵循 CC BY-SA 4.0 许可协议

这取决于必须使用哪个属性来设置默认模式的 DataSource 实现( 参考)。例如使用 HikariDataSource spring.jpa.properties.hibernate.default_schema 被忽略,你必须设置

spring.datasource.hikari.schema=schema

请在 此处 查看 HikariCP 配置参数的完整列表。

原文由 vboerchers 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题