如何解决spring.jpa.generate-ddl 和 spring.jpa.hibernate.ddl-auto 的关系和区别
对于使用 Spring Boot
的 Spring Data JPA
应用程序 (2.4.1),具有基于 @Entity
注释的 javax.persistence
类。对于 application.properties
存在以下两个属性:
- spring.jpa.generate-ddl
- spring.jpa.hibernate.ddl-auto
感谢 STS,提供以下描述:
spring.jpa.generate-ddl
spring.jpa.generate-ddl
java.lang.Boolean
Default: false
Whether to initialize the schema on startup.
spring.jpa.hibernate.ddl-auto
spring.jpa.hibernate.ddl-auto
java.lang.String
DDL mode. This is actually a shortcut for the "hibernate.hbm2ddl.auto" property.
Defaults to "create-drop" when using an embedded database and no schema manager was detected.
Otherwise,defaults to "none"
- 何时使用
spring.jpa.generate-ddl
? - 何时强制使用
spring.jpa.generate-ddl
方法?什么场景?
我确实意识到它被忽略并且确实是强制使用 spring.jpa.hibernate.ddl-auto
,它用于以下场景:架构是通过 H2 的 schema.sql
文件创建的,spring.jpa.hibernate.ddl-auto
是 无,在这种情况下spring.jpa.generate-ddl
完全被忽略
因此:
spring.jpa.generate-ddl
和 spring.jpa.hibernate.ddl-auto
之间的关系(如果存在)和区别是什么?
我找到了这些帖子,但在某种程度上不清楚何时强制使用 spring.jpa.generate-ddl
- H2 schema still generated when spring.jpa.generate-ddl=false
- Hibernate Annotation relations does not work with spring.jpa.generate-ddl=true
- tables not creating in spring boot v2.2.6.RELEASE postgres
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。