Heim >Datenbank >MySQL-Tutorial >Wie kann ich das tatsächlich von Hibernate generierte SQL sehen?

Wie kann ich das tatsächlich von Hibernate generierte SQL sehen?

Susan Sarandon
Susan SarandonOriginal
2025-01-21 07:47:11719Durchsuche

How Can I See the Actual SQL Generated by Hibernate?

Hibernate zeigt echtes SQL an

Setzen Sie das hibernate.cfg.xml-Attribut in der show_sql-Konfigurationsdatei von Hibernate auf true, um die von Hibernate generierten SQL-Anweisungen anzuzeigen. Allerdings liegt das generierte SQL möglicherweise nicht immer in einem leicht lesbaren Format vor.

Aktuelles SQL anzeigen

Um die tatsächliche SQL-Anweisung anzuzeigen, die direkt an die Datenbank übergeben wird, können Sie Folgendes tun:

  • Verwenden Sie einen JDBC-Treiber-Proxy wie P6Spy oder log4jdbc.
  • Verwenden Sie log4j.properties-Dateien, um die Protokollierung für die folgenden Kategorien zu aktivieren:
<code>log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE</code>

Die erste Kategorie entspricht hibernate.show_sql=true, während die zweite Kategorie Bindungsparameter und andere Informationen druckt.

Beispiel

Bei Verwendung der zweiten Methode sehen Sie möglicherweise die folgende Ausgabe:

<code>2023-02-27 16:01:18,226 DEBUG org.hibernate.SQL  - select employee.code from employee where employee.code = ?
2023-02-27 16:01:18,232 TRACE org.hibernate.type.descriptor.sql.BasicBinder  - binding parameter [1] as [INTEGER] - [12]</code>

Dadurch erhalten Sie „echtes“ SQL, ähnlich wie:

<code>select employee.code from employee where employee.code=12</code>

Referenz

Das obige ist der detaillierte Inhalt vonWie kann ich das tatsächlich von Hibernate generierte SQL sehen?. 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