1

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

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

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

如果我们能获得 Hibernate 执行的所有 DDL 操作的日志,那就太好了,省去了打字和手动验证。

我在 Play 上找不到任何有关此的信息!或休眠文档。

我试过在 application.conf 上设置它,但没有运气:

jpa.debugSQL=true 

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

4

1 回答 1

4

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

然后你需要一个休眠日志类别的列表,你可以在这里找到它们。

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

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

此外,您可能会发现 jpa.ddl 参数很有用,请参阅 Play 文档了解更多信息。

于 2012-10-10T10:10:32.917 回答