2011-07-27 7 views
7

私はObjectNotFoundExceptionに問題があります。ここで、Hibernateは遅延ロードが真実であるために、それも期待していないselectステートメントを実行しているようです。私はAOPと関係があると思いますが、他の人のフレームワークを使用しているので何も変更できません。Hibernateのどのクラスがログに記録されるSQL文を生成しますか?

私は、select文がログに生成される場所にブレークポイントを置くことを考えていました。その方法で、誰がそれをトリガーしているかを見ることができます。 Hibernateクラスとは何ですか?ブレークポイントを設定する必要がありますか?私は、ログエントリがorg.hibernate.jdbc.util.SQLStatementLogger

答えて

4

は、他の人のフレームワークです。 org.hibernate.SQLのデバッグレベルのロギングとorg.hibernate.typeのトレースレベルのロギングを取得するようにlog4jを設定した場合、HibernateはそのSQLをログに記録します。しかし、HibernateのSQL生成は、それが何をする必要があるかを決定するところから遠く離れているので、それが役に立ちそうです。 SessionImplには、Hibernateが実行するアクションをリストするActionQueueがあります。そこに表示されるものを見ることができます。

3

地獄内で生成されることを信じて

+1

1は、他の人のフレームワークである –

+0

おかげで、私はactionQueueとSQLStatementLoggerの両方を見て、私は今、私のバグに書くために何かを持っています他の男に報告する:D – aberrant80

関連する問題