3
私のMySQLでSHOW GLOBAL STATUS
を調べると、Com_select
とCom_show_warnings
は多かれ少なかれ等しいことがわかります。つまり、Hibernateは実行するクエリごとにSHOW WARNINGS
を実行します。これを無効にする方法はありますか?/HibernateとCom_show_warnings == Com_select in MySQL
私のMySQLでSHOW GLOBAL STATUS
を調べると、Com_select
とCom_show_warnings
は多かれ少なかれ等しいことがわかります。つまり、Hibernateは実行するクエリごとにSHOW WARNINGS
を実行します。これを無効にする方法はありますか?/HibernateとCom_show_warnings == Com_select in MySQL
以上に設定した場合、休止状態でSHOW WARNINGS
を使用するように強制します。
これは、そのコードの一部です:
public void handleAndClearWarnings(
Connection connection,
WarningHandler handler) {
try {
/* This is the real method that causing the problem. */
walkWarnings(connection.getWarnings(), handler);
}
catch (SQLException sqle) {
// workaround for WebLogic
LOG.debug("could not log warnings", sqle);
}
try {
// Sybase fail if we don't do that, sigh...
connection.clearWarnings();
}
catch (SQLException sqle) {
LOG.debug("could not clear warnings", sqle);
}
}
このように、実行されますwalkWarnings()
方法を避けるために、あなたはerror
にlog4j.logger.org.hibernate
レベルを変更しようとすることができます。
あなたはどのようなロガーライブラリを使用しましたか? [この投稿](https://plumbr.eu/blog/io/how-we-accidentally-doubled-our-jdbc-traffic-with-hibernate)を見て、 'org.hibernate'のログレベルをエラーを表示し、 'SHOW WARNING'がまだ実行されているかどうかを確認してください。 – xsalefter
Log4J。私はすでに 'log4j.logger.org.hibernate = info'を持っています。これらはこれらの呼び出しを取り除くのに十分なはずです。彼らはまだ起こる。 –
'log4j.logger.org.hibernate = error'を試しても、問題がまだ存在するかどうか確認しましたか?たぶんあなたの 'log4j.properties'と' hibernate.cfg.xml'や 'persistence.xml'を入れれば、あなたの実際の問題を他人に見分けることができます。 – xsalefter