Heim >Datenbank >MySQL-Tutorial >Wie kann ich die tatsächlich von Hibernate ausgeführten Raw-SQL-Abfragen anzeigen?

Wie kann ich die tatsächlich von Hibernate ausgeführten Raw-SQL-Abfragen anzeigen?

Susan Sarandon
Susan SarandonOriginal
2025-01-21 07:42:09407Durchsuche

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

Ruhezustand – Rohe SQL-Abfrage anzeigen

Frage

Wenn Sie in der Konfigurationsdatei hibernate.cfg.xml show_sql auf true setzen, werden SQL-Anweisungen auf der Konsole angezeigt. Dies ist jedoch nicht das „echte“ SQL, das an die Datenbank übergeben wird. Ist es möglich, die ursprüngliche SQL-Abfrage zu erhalten?

Antworten

Ja, es gibt zwei Möglichkeiten, die Roh-SQL-Abfrage abzurufen:

JDBC-Treiber-Proxy:

Verwenden Sie einen JDBC-Treiber-Proxy wie P6Spy oder log4jdbc. Diese Tools fangen an die Datenbank gesendete SQL-Befehle ab und liefern detaillierte Informationen, einschließlich der eigentlichen SQL-Abfrage.

Protokollierung im Ruhezustand:

Aktivieren Sie die Protokollierung für die folgenden Kategorien:

<code>log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE</code>
  • org.hibernate.SQL=DEBUG: Äquivalent zu hibernate.show_sql=true, es werden SQL-Abfragen angezeigt.
  • org.hibernate.type=TRACE: Druckt Bindungsparameter und bietet weitere Einblicke in SQL-Abfragen.

Referenz

Das obige ist der detaillierte Inhalt vonWie kann ich die tatsächlich von Hibernate ausgeführten Raw-SQL-Abfragen anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn