스프링 부트 show sql 파라미터 바인딩?
나는 봄 부츠를 처음 신는다.sql 파라미터 바인딩의 구성 설정은 무엇입니까?예를 들어, 다음 행에서는 모든 '?'에 대한 값을 볼 수 있습니다.
SELECT * FROM MyFeed WHERE feedId > ? AND isHidden = false ORDER BY feedId DESC LIMIT ?
현재 다음과 같은 구성을 가지고 있습니다.
spring.jpa.show-sql: true
이러한 항목을 에 추가합니다.application.properties
상세 로그가 표시됩니다.
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql=trace
응용 프로그램 yml에서 다음 속성을 추가합니다.
logging:
level:
org:
hibernate:
type: trace
콘솔에서 포맷된 SQL을 인쇄하려면 다음을 추가합니다.
spring:
jpa:
show-sql: true
properties:
hibernate:
format_sql: true
ID로 학생 기록을 찾고 있으며 다음과 같이 바인딩 매개 변수를 볼 수 있다고 가정합니다.
휴지 상태: student0_에서 student0_.id를 id8_5_0_로 선택합니다.여기서 student0_.id=?
2020-07-30 12:20:44.005 TRACE 1328 --- [nio-8083-exec-8]o.h.type.descriptor.sql.BasicBinder : [ BIGINT ]- [ 1 ]의 바인딩 파라미터
이는 기본 지속성 공급자에 대한 힌트에 불과합니다.휴지 상태, Eclipse Link 등무엇을 사용하고 있는지 모르면 말하기 어렵다.
휴지 상태의 경우 바인드 파라미터도 출력하도록 로깅을 설정할 수 있습니다.
http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-log4j/
다음과 같은 출력을 얻을 수 있습니다.
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
모든 JPA 프로바이더에서 동작할 수 있는 대체 솔루션은 log4jdbc와 같은 것을 사용하는 것입니다.이것에 의해, 보다 좋은 출력이 실현됩니다.
INSERT INTO transaction (A, B) values (10.0, 1.1);
참조:
https://code.google.com/p/log4jdbc-log4j2/
속성 파일에 추가
#to show sql
spring.jpa.properties.hibernate.show_sql=true
#formatting
spring.jpa.properties.hibernate.format_sql=true
#printing parameter values in order
logging.level.org.hibernate.type.descriptor.sql=trace
Eclipse 링크의 경우 application.properties에 다음 행을 추가합니다.
jpa.eclipselink.showsql=true
jpa.eclipselink.logging-level=FINE
위해서Spring Boot 3
사용하는 대로Hibernate 6
, Abroves가 작동하지 않습니다.
시험:
logging:
pattern:
level:
org.hibernate.orm.jdbc.bind: trace
참조: https://stackoverflow.com/a/74862954/2648077 및 https://stackoverflow.com/a/74862954/2648077
언급URL : https://stackoverflow.com/questions/30890076/spring-boot-show-sql-parameter-binding
'programing' 카테고리의 다른 글
패키지 지정 방법휴지 상태에서의 ToScan Jpa자동 설정? (0) | 2023.03.05 |
---|---|
"오류: 리렌더가 너무 많습니다.무한 루프를 방지하기 위해 리액트는 렌더링 수를 제한합니다." (0) | 2023.03.05 |
Oracle - FAST Refresh 및 JOINs를 사용하여 구체화된 뷰를 작성하는 방법 (0) | 2023.03.05 |
SpringBoot JPA는 @Transactional에서 .save()가 필요하지 않습니다. (0) | 2023.02.28 |
NextJS - 동적 경로에 쿼리 매개 변수 추가 (0) | 2023.02.28 |