1

私たちのアプリケーションは Java over Play で開発されています! 1.2.4. ORM には JPA over Hibernate を使用しています。

Play! のデフォルト設定によると、開発環境では DDL が false に設定され、製品環境では true に設定されています。

これまで、DB の変更には、a) 変更内容を把握してスクリプト ファイルに追加するか、b) DB を手動で調べてデルタをコーディングすることにより、本番環境で実行する SQL スクリプトを作成する必要がありました。

Hibernate によって実行されたすべての DDL 操作のログを取得できれば、入力と手動の検証を節約できて便利です。

Play でこれに関する情報を見つけることができません。または Hibernate のドキュメント。

私はこれを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 に答える