Debugging Hibernate Queries

Methode 1 Einfach

Die wohl einfachste Methode ist einfach spring.jpa.show-sql auf true zu setzen.

spring.jpa.show-sql=true

Damit das ganze lesbarer ist, kann man auch gleich die Formatierung des SQL Queries veranlassen. Das ganze wird mit spring.jpa.properties.hibernate.format_sql gesteuert. Setzt man auch dieses Wert auf treu, dann erhält man das gewünschte Ergebnis. Leider ist dieses komplett unoptimiert und geht direkt am Loggingframework vorbei. Schlimmer noch die Parameter der Prepared Statements können nicht angezeigt werden.

Methode 2 Loggingframework

Mit den Einstellungen:

logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

Bekommt man das gleiche Ergebnis, aber die Ausgaben werden über das Loggingframework ausgegeben. Enums werden so aber nicht ausgegeben. Dafür muss separat folgender Schalter verwendet werden:

logging.level.org.hibernate.type.EnumType=TRACE