hibernate
Включить / отключить SQL-журнал
Поиск…
замечания
Регистрация этих запросов происходит медленно , даже медленнее, чем обычно Hibernate. Он также использует огромное количество бревен. Не используйте запись в сценариях, где требуется производительность. Используйте это только при тестировании запросов, которые генерирует Hibernate.
Использование файла конфигурации ведения журнала
В выбранном вами файле конфигурации регистрации выполните регистрацию следующих пакетов до указанных уровней:
# log the sql statement
org.hibernate.SQL=DEBUG
# log the parameters
org.hibernate.type=TRACE
Вероятно, для этого потребуются некоторые префиксы регистратора.
Конфигурация Log4j:
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
Spring Boot application.properties
:
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type=TRACE
Logback logback.xml
:
<logger name="org.hibernate.SQL" level="DEBUG"/>
<logger name="org.hibernate.type" level="TRACE"/>
Использование свойств гибернации
Это покажет вам сгенерированный SQL, но не покажет вам значения, содержащиеся в запросах.
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="hibernateProperties">
<props>
<!-- show the sql without the parameters -->
<prop key="hibernate.show_sql">true</prop>
<!-- format the sql nice -->
<prop key="hibernate.format_sql">true</prop>
<!-- show the hql as comment -->
<prop key="use_sql_comments">true</prop>
</props>
</property>
</bean>
Включить / отключить отладку SQL-журнала
Некоторые приложения, использующие Hibernate, генерируют огромное количество SQL при запуске приложения. Иногда лучше включить / отключить SQL-журнал в определенных точках при отладке.
Чтобы включить, просто запустите этот код в своей среде IDE при отладке приложения:
org.apache.log4j.Logger.getLogger("org.hibernate.SQL")
.setLevel(org.apache.log4j.Level.DEBUG)
Отключить:
org.apache.log4j.Logger.getLogger("org.hibernate.SQL")
.setLevel(org.apache.log4j.Level.OFF)