Méthode de visualisation de la valeur des paramètres de requête Hibernate SQL
Lors de l'exécution de requêtes avec Hibernate, il est souvent utile de voir les valeurs réelles des paramètres transmises à la base de données.
Hibernate peut-il afficher directement les valeurs réelles des paramètres ?
Malheureusement, Hibernate lui-même ne fournit pas de mécanisme pour imprimer directement la requête SQL contenant les valeurs réelles des paramètres. Les points d'interrogation dans les instructions SQL représentent des paramètres fictifs et Hibernate ne les remplacera pas automatiquement par les valeurs réelles des paramètres.
Alternatives de journalisation
Pour voir la chaîne de requête SQL réelle contenant les valeurs des paramètres, vous pouvez activer la journalisation pour une classe Hibernate spécifique :
La configuration log4j suivante illustre cette approche :
<code>log4j.logger.org.hibernate.SQL=debug # 记录传递给查询的JDBC参数 log4j.logger.org.hibernate.type=trace</code>
Cette méthode est similaire à l'ancien attribut hibernate.show_sql=true
. Il convient de noter que l'activation de la journalisation org.hibernate.type
enregistrera plus d'informations, y compris les paramètres de liaison.
Pilote proxy externe
Une autre méthode consiste à utiliser un pilote proxy JDBC tel que P6Spy. P6Spy intercepte les appels JDBC et vous permet d'inspecter les requêtes SQL réelles et les valeurs des paramètres envoyées à la base de données.
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!