Maison >base de données >tutoriel mysql >Comment puis-je afficher les requêtes SQL brutes réelles exécutées par Hibernate ?

Comment puis-je afficher les requêtes SQL brutes réelles exécutées par Hibernate ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-21 07:42:09407parcourir

How Can I View the Actual Raw SQL Queries Executed by Hibernate?

Hibernate - Afficher la requête SQL brute

Question

Dans le fichier de configuration hibernate.cfg.xml, définir show_sql sur true affichera les instructions SQL sur la console. Cependant, ce n’est pas le « vrai » SQL transmis à la base de données. Est-il possible d'obtenir la requête SQL d'origine ?

Réponse

Oui, il existe deux manières d'obtenir la requête SQL brute :

Proxy du pilote JDBC :

Utilisez un proxy de pilote JDBC tel que P6Spy ou log4jdbc. Ces outils interceptent les commandes SQL envoyées à la base de données et fournissent des informations détaillées, y compris la requête SQL réelle.

Journalisation en veille prolongée :

Activer la journalisation pour les catégories suivantes :

<code>log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE</code>
  • org.hibernate.SQL=DEBUG : Equivalent à hibernate.show_sql=true, il affiche les requêtes SQL.
  • org.hibernate.type=TRACE : Imprime les paramètres de liaison, fournissant ainsi un aperçu plus approfondi des requêtes SQL.

Référence

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