Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate. Трассировка параметров запросов 
:(
    Опции темы
chief39
Дата 6.9.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77



В доке трудноискуемо...

Может сталкивались.

"Ларысу Ыванавну хачу!" То бишь включить трассировку параметров хиберенейт запросов.
Простой логфоржи ДЕБАГ бросает запросы.

Гораздо интереснее что скрывается под знаками вопросов на местах параметров.
Не могу найти как включить и показать(если есть)


Всем спасибо за будущие ответы smile)


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
tux
Дата 6.9.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 11
Всего: 132



Попробуй сделать так. Настроить лог в LOG4J, добавив такую строчку:
Цитата

log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER

Тогда запросы Hibernate должен начать писать в лог, а не в System.out. Естественно, hibernate.show_sql должен быть установлен в true. Кроме того, уровень DEBUG должен быть установлен для org.hibernate.type. В итоге должны получить в куче запросы и записи в логе такого типа:
Цитата

2006-07-28 09:57:12,081 DEBUG org.hibernate.type.TimestampType - binding '2006-07-28 09:57:12' to parameter: 1 

PM MAIL Skype GTalk Jabber YIM   Вверх
batigoal
Дата 6.9.2007, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 11
Всего: 151



К слову, трассировка биндовых переменных в голом JDBC - ваще нетривиальный процесс. Неужели в Хибернейте с этим так просто - переключил параметр и усё?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
tux
Дата 6.9.2007, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 11
Всего: 132



Цитата(batigoal @  6.9.2007,  13:03 Найти цитируемый пост)
К слову, трассировка биндовых переменных в голом JDBC - ваще нетривиальный процесс. Неужели в Хибернейте с этим так просто - переключил параметр и усё?

Hibernate сам пишет что и куда он биндит. Чего же тогда сложного? smile
PM MAIL Skype GTalk Jabber YIM   Вверх
chief39
Дата 6.9.2007, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77



Цитата(tux @  6.9.2007,  12:45 Найти цитируемый пост)
Тогда запросы Hibernate должен начать писать в лог, а не в System.out. 

Мне аут предпочтительнее...

Цитата(tux @  6.9.2007,  12:45 Найти цитируемый пост)

log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER

если просто скл аппендер выбросить?



--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
tux
Дата 6.9.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 11
Всего: 132



Цитата(chief39 @  6.9.2007,  14:37 Найти цитируемый пост)
если просто скл аппендер выбросить?

Если логи писать в консоль, то ничего страшного. Если логи пишутся в файл, то как сопоставить запрос, выброшенный на консоль и бинды параметров, записанные в файл?
PM MAIL Skype GTalk Jabber YIM   Вверх
chief39
Дата 6.9.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77



Цитата(tux @  6.9.2007,  14:42 Найти цитируемый пост)
Если логи писать в консоль, то ничего страшного. 

В консоль пишу всё. Там немного, это доп. утилитка. 
Цитата(tux @  6.9.2007,  12:45 Найти цитируемый пост)
Естественно, hibernate.show_sql должен быть установлен в true.

Ммм... можно подробнее? smile


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
tux
Дата 6.9.2007, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 11
Всего: 132



Цитата(chief39 @  6.9.2007,  14:45 Найти цитируемый пост)
Ммм... можно подробнее? smile 

В hibernate.cfg.xml нужно пропертю hibernate.show_sql нужно установить в значение true. Если hibernate конфигурится, например, Спрингом, то там тоже есть набор пропертей. Пример для hibernate.cfg.xml:
Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>
        <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="show_sql">true</property>
        <property name="use_outer_join">false</property>
        <property name="max_fetch_depth">-1</property>
        <property name="connection.datasource">java:comp/env/jdbc/entrant</property>
        <property name="cglib.use_reflection_optimizer">true</property>
        <property name="cache.use_query_cache">true</property>
        <property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>

        <mapping resource="orm/hibernate/AdmittanceContainer.hbm.xml"/>
        <mapping resource="orm/hibernate/Protocol.hbm.xml"/>
    </session-factory>

</hibernate-configuration>


PM MAIL Skype GTalk Jabber YIM   Вверх
chief39
Дата 6.9.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77



млин, чёт наворотили - логи не идут. Притопаю вскорости, разберусь. И пристану в вопросами.
Вписал в конф хибернейта. спринг конфиги не трогал smile


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
tux
Дата 6.9.2007, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 11
Всего: 132



Наверное то, что я раньше привел не совсем ясно. Остановлюсь на таком варианте: smile
log4j.properties:
Код

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.logger.org.hibernate.SQL=DEBUG, stdout
log4j.additivity.org.hibernate.SQL=false
log4j.logger.org.hibernate.type=DEBUG

В результате получаем что-то такое:
Цитата

23:13:23,093 DEBUG SQL:401 - select region0_.REGION_ID as REGION1_1_0_, region0_.NAME as NAME1_0_ from REGIONS region0_ where region0_.REGION_ID=?
Hibernate: select region0_.REGION_ID as REGION1_1_0_, region0_.NAME as NAME1_0_ from REGIONS region0_ where region0_.REGION_ID=?
23:13:23,109 DEBUG IntegerType:133 - binding '1' to parameter: 1
23:13:23,140 DEBUG StringType:172 - returning 'вапвпа' as column: NAME1_0_

По-моему про параметры здесь все понятно.
PM MAIL Skype GTalk Jabber YIM   Вверх
chief39
Дата 7.9.2007, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77



Вчера запарка была, пофиксал, не успев настроить.


За готовый док- бум тя в репу! smile


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
chief39
Дата 7.9.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 5
Всего: 77





--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.1080 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.