Überwachen von SQL-Abfragen und -Parametern im Ruhezustand
Das Debuggen von Hibernate-Anwendungen erfordert häufig die Überprüfung der generierten SQL-Abfragen, einschließlich ihrer Parameterwerte. Bei der standardmäßigen Protokollierung im Ruhezustand werden anstelle der tatsächlichen Werte nur Platzhalter-Fragezeichen angezeigt. In diesem Artikel erfahren Sie, wie Sie diese Werte offenlegen.
Nutzung der integrierten Protokollierung von Hibernate
Hibernate bietet zwei Protokollierungskategorien für eine detaillierte Abfragevisualisierung:
org.hibernate.SQL
(Debug-Level): Zeigt alle ausgeführten SQL Data Manipulation Language (DML)-Anweisungen an.org.hibernate.type
(Trace-Level): Macht alle in jeder Abfrage verwendeten JDBC-Parameter verfügbar.Aktivieren Sie diese Protokollierungsfunktion, indem Sie diese Zeilen zu Ihrer log4j
Konfigurationsdatei hinzufügen:
<code># Displays SQL statements log4j.logger.org.hibernate.SQL=debug # Displays JDBC parameters log4j.logger.org.hibernate.type=trace</code>
Alternative: Verwendung eines JDBC-Proxy-Treibers
Für diejenigen, die eine Alternative zur nativen Protokollierung von Hibernate bevorzugen, bietet ein JDBC-Proxy-Treiber wie P6Spy eine robuste Lösung. Dieser Treiber fängt JDBC-Aufrufe ab und ändert sie und bietet eine Vorabansicht der Abfragen für eine umfassende Analyse.
Das obige ist der detaillierte Inhalt vonWie kann ich SQL-Abfragen mit Parameterwerten im Ruhezustand protokollieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!