Imprimer la requête contenant les valeurs des paramètres dans Hibernate
Lors de l'utilisation d'Hibernate, il est souvent nécessaire de visualiser la requête SQL réellement exécutée, y compris les valeurs des paramètres. Le comportement par défaut d'Hibernate consiste à enregistrer les requêtes SQL en utilisant des points d'interrogation (?) comme espaces réservés pour les valeurs des paramètres.
Est-il possible d'imprimer une requête contenant des valeurs réelles à l'aide de l'API Hibernate ?
Non, Hibernate ne fournit pas d'API pour imprimer les requêtes SQL contenant des valeurs réelles.
Comment imprimer une requête contenant des valeurs réelles
Pour que cette fonctionnalité fonctionne, la journalisation doit être activée pour les catégories suivantes :
<code>org.hibernate.SQL - 设置为debug以记录所有SQL DML语句的执行情况 org.hibernate.type - 设置为trace以记录所有JDBC参数</code>
Exemple de configuration Log4j :
<code># 记录SQL语句 log4j.logger.org.hibernate.SQL=debug # 记录传递给查询的JDBC参数 log4j.logger.org.hibernate.type=trace</code>
La première configuration est équivalente à l'ancienne propriété d'Hibernate, hibernate.show_sql=true, et la deuxième configuration imprime les paramètres de liaison et d'autres informations.
Alternatives
Si la journalisation Hibernate est insuffisante, vous pouvez utiliser un pilote proxy JDBC tel que P6Spy pour capturer et enregistrer les requêtes SQL contenant des valeurs de paramètres.
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!