当我使用 Spring Boot 1.5 时,在应用程序启动时,当设置了适当的配置时,Hibernate 会执行位于 /resources 文件夹中的 schema.sql 文件。在 Spring Boot 2.0 发布后,此功能不再起作用。我在文档中找不到有关此更改的任何信息。这是我的 application.properties 文件内容:
spring.datasource.url=...
spring.datasource.username=...
spring.datasource.password=...
#spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
Spring Boot 2.0 是否有一些变化或者这是一个错误/问题?
原文由 Đorđe Pržulj 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 此处 查看文档。
你有
spring.jpa.hibernate.ddl-auto=create-drop
这就是为什么schema.sql
没有被执行。看起来这就是 Spring Boot 的工作方式。编辑
我认为问题(不是真正的问题)是您的应用程序指向一个 mysql 实例。
查看 当前的 Spring Boot 属性:
默认值为
embedded
例如,仅当您正在运行和嵌入数据库(如 H2)时才初始化。另请参阅 此处 斯蒂芬的回答。他说:
所以尝试设置: