Zoeken…


Opmerkingen

Het registreren van deze query's is langzaam , zelfs langzamer dan Hibernate meestal is. Het neemt ook een enorme hoeveelheid logruimte in beslag. Gebruik logging niet in scenario's waar prestaties vereist zijn. Gebruik dit alleen bij het testen van de zoekopdrachten die Hibernate daadwerkelijk genereert.

Een logbestand voor logboekregistratie gebruiken

Stel in het logboekconfiguratiebestand van uw keuze het loggen van de volgende pakketten in op de getoonde niveaus:

# log the sql statement
org.hibernate.SQL=DEBUG
# log the parameters
org.hibernate.type=TRACE

Er zullen waarschijnlijk enkele logger-specifieke voorvoegsels nodig zijn.

Log4j-configuratie:

log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE

Spring Boot- application.properties Eigenschappen:

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"/>

Hibernate-eigenschappen gebruiken

Hiermee wordt de gegenereerde SQL weergegeven, maar worden de waarden in de query's niet weergegeven.

<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>

Inschakelen / uitschakelen SQL log in debug

Sommige toepassingen die Hibernate gebruiken, genereren een enorme hoeveelheid SQL wanneer de toepassing wordt gestart. Soms is het beter om het SQL-logboek in specifieke punten in of uit te schakelen bij het debuggen.

Om deze in te schakelen, voert u deze code in uw IDE uit wanneer u de foutopsporing uitvoert:

org.apache.log4j.Logger.getLogger("org.hibernate.SQL")
    .setLevel(org.apache.log4j.Level.DEBUG)

Uitschakelen:

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow