2015-06-17 9 views
5

Jestem nowy na wiosnę. Jakie jest ustawienie konfiguracyjne dla wiązania parametru sql. Na przykład w poniższym wierszu powinienem widzieć wartości dla wszystkich "?".Spring boot show parametr wiązania sql?

SELECT * FROM MyFeed WHERE feedId>? AND isHidden = false ORDER BY feedId DESC LIMIT?

Obecnie mam konfiguracja jako

spring.jpa.show-SQL: true

Odpowiedz

7

To jest tylko wskazówką do bazowego dostawcy trwałości np Hibernate, EclipseLink itp. Bez wiedzy o tym, z czego korzystasz, trudno powiedzieć.

Dla Hibernate można skonfigurować rejestrowanie się również wyjście parametry wiąże:

http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-log4j/

który daje wyjście jak:

Hibernate: INSERT INTO transaction (A, B) 
VALUES (?, ?) 
13:33:07,253 DEBUG FloatType:133 - binding '10.0' to parameter: 1 
13:33:07,253 DEBUG FloatType:133 - binding '1.1' to parameter: 2 

alternatywnego rozwiązania, które powinny działać na wszystkich WZP dostawców jest użycie czegoś podobnego do log4jdbc, które dałoby lepsze wyjście:

INSERT INTO transaction (A, B) values (10.0, 1.1); 

Patrz:

https://code.google.com/p/log4jdbc-log4j2/

+0

Dzięki @Alan za odpowiedź. Podoba mi się twoje sugerowane alternatywne rozwiązanie. Nie mam jeszcze czasu na sprawdzenie :). Jeśli problem będzie się powtarzał, skontaktuję się z Tobą. –

1

Dodaj je do application.properties i powinieneś zobaczyć dzienniki w szczegółach.