KriegeR
@KriegeR
Software Engineer

Как указать Hibernate, чтоб он показывал, что он подставляет вместо параметров '?'

Всем привет!

Чисто в отладочных целях необходимо посмотреть какие именно запросы делает гибернейт?
Уже имею такие проперти:
<property name="show_sql">true</property> <property name="format_sql">true</property> <property name="use_sql_comments">true</property>

Но имею такой вывод:
update table1 set field1=?, field2=?, field3=?, fk_table1_id=?, fk_table2_id=?
Вот, собственно, и хотелось бы увидеть, что там за знаками "?".

Буду очень признателен!
  • Вопрос задан
  • 2901 просмотр
Пригласить эксперта
Ответы на вопрос 2
gvsmirnov
@gvsmirnov
Включите debug-логи, тогда оно будет показываться в виде binding 'value' to parameter: 1.

P.S. Вообще, гораздо лучше использовать не знаки вопроса, а именованные параметры (update table1 set field1=:field1, field2=:field2 ...). Поначалу может показаться избыточным, но так и в ногу выстрелить сложнее, и повторно использовать их можно.
Ответ написан
eugenius_nsk
@eugenius_nsk
Нужно настроить логгирование, включив org.hibernate.type на уровень trace. Для log4j это делается так: log4j.logger.org.hibernate.type=trace
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YLab Москва
До 250 000 руб.
Сбербанк Санкт-Петербург
от 100 000 руб.
OptiSystems Краснодар
от 100 000 руб.
14 нояб. 2019, в 11:26
1500 руб./за проект
14 нояб. 2019, в 10:48
50000 руб./за проект
14 нояб. 2019, в 10:45
2500 руб./за проект