hibernate
Activer / désactiver le journal SQL
Recherche…
Remarques
La journalisation de ces requêtes est lente , même plus lente que celle d'Hibernate. Il utilise également une quantité énorme d'espace de journal. N'utilisez pas la journalisation dans des scénarios où les performances sont requises. Utilisez ceci uniquement lorsque vous testez les requêtes réellement générées par Hibernate.
Utiliser un fichier de configuration de journalisation
Dans le fichier de configuration de journalisation de votre choix, définissez la journalisation des packages suivants sur les niveaux indiqués:
# log the sql statement
org.hibernate.SQL=DEBUG
# log the parameters
org.hibernate.type=TRACE
Certains préfixes spécifiques à l'enregistreur seront probablement nécessaires.
Log4j config:
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"/>
Utiliser les propriétés d'Hibernate
Cela vous montrera le code SQL généré, mais ne vous montrera pas les valeurs contenues dans les requêtes.
<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>
Activer / désactiver le débogage SQL
Certaines applications utilisant Hibernate génèrent une grande quantité de SQL au démarrage de l'application. Parfois, il est préférable d'activer / désactiver le journal SQL dans des points spécifiques lors du débogage.
Pour l'activer, exécutez simplement ce code dans votre IDE lorsque vous déboguez l'application:
org.apache.log4j.Logger.getLogger("org.hibernate.SQL")
.setLevel(org.apache.log4j.Level.DEBUG)
Pour désactiver:
org.apache.log4j.Logger.getLogger("org.hibernate.SQL")
.setLevel(org.apache.log4j.Level.OFF)