Maison >Java >javaDidacticiel >Comment puis-je imprimer des chaînes de requête Hibernate avec des valeurs de paramètres ?

Comment puis-je imprimer des chaînes de requête Hibernate avec des valeurs de paramètres ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-23 08:47:12936parcourir

How Can I Print Hibernate Query Strings with Parameter Values?

Impression des chaînes de requête Hibernate avec les valeurs des paramètres

Il est souvent utile d'examiner les requêtes SQL générées par Hibernate, en particulier lors du dépannage des problèmes. Le comportement par défaut d'Hibernate consiste à afficher les chaînes de requête avec des points d'interrogation (espaces réservés) pour les valeurs des paramètres. Cependant, il est possible d'activer la journalisation pour afficher les requêtes SQL générées avec les valeurs de paramètres réelles.

Activation de la journalisation Hibernate

Pour activer l'impression des chaînes de requête avec les valeurs de paramètres, vous devez pour configurer la journalisation Hibernate pour les catégories suivantes :

  • org.hibernate.SQL : défini sur debug pour enregistrer tout le SQL exécuté Déclarations DML.
  • org.hibernate.type : défini pour tracer pour enregistrer tous les paramètres JDBC.

Configuration Log4j

Voici une exemple de configuration Log4j qui permet la journalisation pour les catégories spécifiées :

# Logs the SQL statements
log4j.logger.org.hibernate.SQL=debug

# Logs the JDBC parameters passed to a query
log4j.logger.org.hibernate.type=trace

Héritage équivalent Propriété

L'enregistreur org.hibernate.SQL est équivalent à l'ancienne propriété hibernate.show_sql=true, qui est obsolète.

Pilotes proxy JDBC

Une approche alternative consiste à utiliser un pilote proxy JDBC, tel que P6Spy, qui peut capturer et afficher les requêtes SQL (y compris les valeurs des paramètres) sans modifier la configuration Hibernate.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn