A Hibernate / JPA SQL utasításainak megjelenítése a Spring Boot alkalmazásból

1. Áttekintés

A tavaszi JDBC és a JPA absztrakciókat biztosít a natív JDBC API-k felett, lehetővé téve a fejlesztők számára, hogy megszüntessék a natív SQL-lekérdezéseket. Gyakran azonban látnunk kell azokat az automatikusan létrehozott SQL lekérdezéseket és azok sorrendjét, amelyben hibakeresés céljából végrehajtották őket.

Ebben a gyors bemutatóban megvizsgáljuk az SQL-lekérdezések naplózásának különböző módjait a Spring Boot alkalmazásban.

2. JPA-lekérdezések naplózása

2.1. Normál kimenetre

A legegyszerűbb módszer, ha a lekérdezéseket szabványossá teszi, ha a következőket adja hozzá: alkalmazás.tulajdonságok:

tavasz.jpa.show-sql = igaz

Az SQL szépítéséhez vagy szép kinyomtatásához hozzáadhatjuk:

spring.jpa.properties.hibernate.format_sql = true

Bár ez rendkívül egyszerű, nem ajánlott mivel mindent közvetlenül a normál kimenetre tölt le a naplózási keretrendszer optimalizálása nélkül.

Ráadásul, nem naplózza az elkészített utasítások paramétereit.

2.2. Naplózókon keresztül

Most nézzük meg, hogyan naplózhatjuk az SQL utasításokat a naplózók konfigurálásával a tulajdonságfájlban:

logging.level.org.hibernate.SQL = HIBAKeresés logging.level.org.hibernate.type.descriptor.sql.BasicBinder = TRACE

Az első sor naplózza az SQL lekérdezéseket, a második utasítás pedig az elkészített utasítás paramétereit.

A szép nyomtatási tulajdonság ebben a konfigurációban is működik.

Ezen tulajdonságok beállításával a naplókat elküldjük a beállított alkalmazásnak. Alapértelmezés szerint a Spring Boot használja visszalépés szabványos kioldóval.

3. Naplózás JdbcTemplate Lekérdezések

Az utasítás naplózásának konfigurálása a használat során JdbcTemplate, a következő tulajdonságokra van szükségünk:

logging.level.org.springframework.jdbc.core.JdbcTemplate = DEBUG logging.level.org.springframework.jdbc.core.StatementCreatorUtils = TRACE

A JPA naplózási konfigurációjához hasonlóan az első sor az utasítások naplózására szolgál, a második pedig az elkészített utasítások paramétereinek naplózására szolgál.

4. Hogyan működik?

A tavaszi / hibernált órák, amelyek SQL utasításokat generálnak és beállítják a paramétereket, már tartalmazza a naplózásuk kódját.

Azonban ezeknek a napló utasításoknak a szintje HIBÁK és NYOM , ami alacsonyabb, mint a Spring Boot alapértelmezett szintje - INFO.

Ezen tulajdonságok hozzáadásával ezeket a naplózókat csak a szükséges szintre állítjuk.

5. Következtetés

Ebben a rövid cikkben megvizsgáltuk az SQL-lekérdezések naplózási módjait a Spring Boot alkalmazásban.

Ha több függelék konfigurálását választjuk, akkor az SQL utasításokat és más napló utasításokat különálló naplófájlokba különíthetjük el, hogy a dolgok tisztán maradjanak.


$config[zx-auto] not found$config[zx-overlay] not found