我可以在Play上记录hibernate的DDL代码吗!启动?

时间:2012-06-07 15:56:39

标签: hibernate playframework ddl playframework-1.x

我们的应用程序是在Java over Play上开发的! 1.2.4。我们在ORM上使用JPA而不是Hibernate。

根据Play!的默认配置,我们的开发环境将DDL设置为false,prod环境将其设置为true。

到目前为止,数据库中的更改要求我们编写要在生产中运行的SQL脚本,a)知道更改了什么,并将其添加到脚本文件,或b)手动检查数据库以编码增量。

如果我们能够获取Hibernate执行的所有DDL操作的日志,那将会很有用,这样可以节省输入和手动验证。

我在Play上找不到任何关于此的信息!或者Hibernate文档。

我试过在application.conf上设置这个没有运气:

jpa.debugSQL=true 

我可以看到选择操作,但没有DDL。

1 个答案:

答案 0 :(得分:4)

Hibernate有几个可以在log4j.properties中设置的日志类别。 如果您不使用log4j.properties,请按照here所述创建一个。

然后你需要一个hibernate日志类别列表,你可以找到它们here

例如,如果要记录DDL语句,则应将以下行添加到log4j.properties文件中:

# Log all SQL DDL statements as they are executed
log4j.logger.org.hibernate.tool.hbm2ddl=trace

您也可以找到有用的jpa.ddl参数,有关详细信息,请参阅播放文档。