Вместо действительно подробного и не интуитивно понятного ведения журнала SQL в спящем режиме вы можете использовать драйвер JDBC Pass through Java, который может регистрировать SQL
и / или JDBC calls
для других драйверов JDBC.
Преимущество прохождения через драйвер JDBC заключается в том, что в записанном выводе для подготовленных выражений аргументы связывания автоматически вставляются в вывод SQL. Это значительно улучшает читабельность, отладку и размер журнала во многих случаях. Информация о времени SQL может быть сгенерирована при необходимости.
С журналированием hibernate у вас есть логирование, подобное:
select bs0_.A_REF as A2_7_0_ from B bs0_ where bs0_.other = 0 and bs0_.A_REF=?
TRACE 2011-08- 03 00:30:45,317 binding '123' to parameter: 1
При большом запросе с большим количеством параметров может быть затруднительно заменить все параметры связывания перед выполнением запроса вручную в базе данных.
С помощью прохода через драйвер JDBC вы ведете запись, подобную:
select bs0_.A_REF as A2_7_0_ from B bs0_ where bs0_.other = 0 and bs0_.A_REF=123
Все параметры привязки разрешены, и вам просто нужно скопировать и вставить его, чтобы выполнить запрос к базе данных.
Вы можете проверить log4jdbc как хороший проход через драйвер JDBC.
Чтобы отключить ведение журнала в режиме гибернации, обязательно задайте для false свойства hibernate.show_sql
в файле конфигурации и всех связанных с SQL регистраторах. См. Конфигурация регистрации раздела справочной документации