Поиск…


замечания

Регистрация этих запросов происходит медленно , даже медленнее, чем обычно 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)


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow