Maison >Java >javaDidacticiel >Comment puis-je imprimer des requêtes SQL avec des valeurs de paramètres en veille prolongée ?
Introduction :
Lors de l'utilisation d'Hibernate, il peut être utile d'imprimer les requêtes générées, ainsi que les valeurs réelles des paramètres. Cela peut être utile à des fins de débogage ou pour comprendre les caractéristiques de performances d'une requête particulière.
Est-ce possible avec l'API Hibernate ?
Oui, il est possible de imprimer des requêtes avec des valeurs de paramètres à l'aide de l'API Hibernate. Pour ce faire, vous devez activer la journalisation pour les catégories suivantes :
Configuration Exemple :
Une configuration log4j qui active la journalisation pour ces catégories pourrait ressembler à ceci :
# logs the SQL statements log4j.logger.org.hibernate.SQL=debug # Logs the JDBC parameters passed to a query log4j.logger.org.hibernate.type=trace
La première option (hibernate.show_sql) est l'équivalent hérité de log4j.logger .org.hibernate.SQL=debug, tandis que la deuxième option imprime les paramètres liés avec d'autres informations.
Solution alternative sans Hibernate :
Si vous préférez ne pas utiliser l'API Hibernate pour imprimer des requêtes avec des valeurs de paramètres, vous pouvez utiliser un pilote proxy JDBC comme P6Spy. Ce pilote agit comme un proxy entre votre application et la base de données, et il enregistre toutes les instructions et paramètres JDBC qui le traversent.
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!