如何在spring boot中查看schema sql(DDL)?

时间:2016-06-06 01:20:50

标签: spring hibernate spring-boot

如何查看Hibernate生成的DDL SQL,以便从JPA映射构建架构?我正在使用嵌入式HSQL数据库。

我尝试了以下内容,但没有一个在Spring-Boot 1.3.5.RELEASE中工作。

那些只显示Hibernate为查询发出的sql。我正在寻找由Hibernate发布的DDL模式sql,原因如下:

spring.jpa.hibernate.ddl-auto=create-drop

1 个答案:

答案 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 属性指定   哪些脚本由持久性提供程序生成。该   此属性的值为nonecreatedrop-and-createdrop。一个   只有在指定脚本目标时才会生成脚本。如果   未指定此属性,假定脚本生成   不需要或将

在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/