如何查看Hibernate生成的DDL SQL,以便从JPA映射构建架构?我正在使用嵌入式HSQL数据库。
我尝试了以下内容,但没有一个在Spring-Boot 1.3.5.RELEASE中工作。
那些只显示Hibernate为查询发出的sql。我正在寻找由Hibernate发布的DDL模式sql,原因如下:
spring.jpa.hibernate.ddl-auto=create-drop
答案 0 :(得分:8)
尝试使用此属性和值:
javax.persistence.schema-generation.scripts.action=create
不要忘记也设置此属性:
javax.persistence.schema-generation.scripts.create-target=my-schema.sql
来自JPA 2.1 Specifiation,第370页:
javax.persistence.schema-generation.scripts.action
javax.persistence.schema-generation.scripts.action 属性指定 哪些脚本由持久性提供程序生成。该 此属性的值为
none
,create
,drop-and-create
,drop
。一个 只有在指定脚本目标时才会生成脚本。如果 未指定此属性,假定脚本生成 不需要或将
在Spring Boot中,您可以在application.properties
文件中定义这两个属性:
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=build/my-schema.sql
spring.jpa.properties.javax.persistence.schema-generation.scripts.action=create
这是一篇关于JPA模式生成的博客文章,其中包含有关这些和其他属性的更多信息: http://www.thoughts-on-java.org/standardized-schema-generation-data-loading-jpa-2-1/