如何指定Sping Boot 使用的数据库模式?我使用默认的hibernate(=default)和postgres(但我希望有一个通用的解决方案)。我知道如何指定JDBC URL:
spring.datasource.url=jdbc:postgresql:db_name
但遗憾的是,postgresql不允许在JDBC URL中指定模式。我知道有一个hibernate属性hibernate.default_schema
,所以我希望以下属性之一可以工作:
hibernate.default_schema=schema
spring.hibernate.default_schema=schema
spring.jpa.hibernate.default_schema=raw_page
但不幸的是,他们似乎都没有任何结果。
6条答案
按热度按时间ifmq2ha21#
用于
application.properties
:application.yaml
的OR:Sping 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
3ks5zfa02#
它取决于DataSource实现,必须使用哪个属性来设置默认架构(引用)。例如,使用HikariDataSource时,
spring.jpa.properties.hibernate.default_schema
被忽略,您必须设置在这里查看HikariCP配置参数的完整列表。
h9a6wy2h3#
9njqaruj4#
spring.jpa.properties.hibernate.default_schema=your_scheme
或
spring:jpa:属性:Hibernate.default_schema:你的方案
使用HikariDataSource(例如spring.jpa.properties. hibernate.default_schema)将被忽略,您还必须设置
spring.datasource.hikari.schema=your_scheme
kzipqqlq5#
我遇到了错误:无法从数据源org.postgresql.util.PSQLException获取连接:错误:不支持的启动参数:搜索路径
解决方案:application-xyz_dev.yml
url:jdbc:postgresql://localhost:8080/your_database?search_path=your_scheme&stringtype=unspecified
spring:jpa:属性:Hibernate.default_schema:你的方案
7qhs6swi6#
我正在将一个Java应用程序从MySQL迁移到SQL Server,并将spring.jpa.properties.hibernate.default_schema添加到应用程序属性文件中。