2011-01-27 3 views
1

私はHibernate/Springを使用しています。私はHibernateをHQLをコンソールに出力するように設定しました。コンソールでHibernate Print Out IDを作成する方法は?

Hibernate: update sometable set some_field=?, other_field=? where id=? 

これは素晴らしいです。私が望む唯一の追加の事は、疑問符をREAL IDに置き換えることです。

カスケード削除が、そのレコードの親/所有者が(P1からP2へ)変更された後にレコードを削除した後、古い親P1が削除されたかどうかを調査しようとしているということです。

答えて

2

あなたはこのパッケージと、このレベルのために(log4jの)ログを有効にする必要があります。

org.hibernate.sql=TRACE 
org.hibernate.type=TRACE 

それは、各パラメータについては、トレース・メッセージを生成する必要があります。

例えば

@see thierd replaiy

のみヒント

を追加:ステートメントおよびパラメータが示されている場合、それは無駄になるので/異なる場所に記録:

"hibernate.show_sql"を使用する代わりに、 "org.hibernate.SQL"のDEBUGロギングを有効にすることができます。これで、コンソールではなく、Log4Jの出力にSQLが記録されているはずです。

+0

私はあなたが何を意味しているか分かりません。これらの追加のプロパティはhibernatePropertiesに入れられますか、またはあなたはlog4jロギングについて話していますか? – ashes999

+0

@ ashes999:私はLog4jについて話しています。 – Ralph

+0

私はlog4jがどのようにファイルにログを記録するのが好きではありません。 HibernateはコンソールにHQLを表示するほどスマートです。私はちょうどそれを詳述したい。それが不可能な場合、log4jは遠く離れた第2の解決策です - 私がlog4jを使用している場合、私は自分自身のロギングステートメントを挿入し、HQLに依存しないかもしれません。 – ashes999

関連する問題