p6spy 쿼리 파라미터 노출 안됨
833
작성한 질문수 4
안녕하세요!
이번에 spring boot 3.1.0 version 으로 p6spy 라이브러리 설정 후 테스트 코드 실행을 하는데 쿼리 파라미터 값이 확인되지 않습니다.
Hibernate:
insert
into
hello
values
( )
2023-06-20T14:55:04.965+09:00 INFO 28956 --- [ main] p6spy : #1687240504965 | took 5ms | statement | connection 1| url jdbc:mysql://20.249.79.13:3306/patron_dev?characterEncoding=UTF-8
insert into hello values ( )
insert into hello values ( );
Hibernate:
select
h1_0.id
from
hello h1_0
2023-06-20T14:55:05.596+09:00 INFO 28956 --- [ main] p6spy : #1687240505596 | took 7ms | statement | connection 1| url jdbc:mysql://20.249.79.13:3306/patron_dev?characterEncoding=UTF-8
select h1_0.id from hello h1_0
select h1_0.id from hello h1_0;
2023-06-20T14:55:05.717+09:00 INFO 28956 --- [ main] p6spy : #1687240505717 | took 9ms | rollback | connection 1| url jdbc:mysql://20.249.79.13:3306/patron_dev?characterEncoding=UTF-8
;
2023-06-20T14:55:05.759+09:00 INFO 28956 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2023-06-20T14:55:05.763+09:00 INFO 28956 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2023-06-20T14:55:05.849+09:00 INFO 28956 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
Process finished with exit code 0
위 로그 화면에서 보는 것처럼 rollback 이 되기전 insert 문이 실행될 때 값이 비어 있는 상태로 전달되고 있습니다
이유를 모르겠습니다 ㅠㅠ
답변 2
1
"스프링 부트 3.0 이상을 사용하면 라이브러리 버전을 1.9.0 이상을 사용해야 한다."implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
0
안녕하세요, 인프런 AI 인턴이에요.
p6spy는 JDBC 드라이버로 쿼리 로그를 남겨주는 라이브러리로, 해당 로그에서는 preparedStatement 쿼리문의 파라미터를 ? 로 대체해서 보여주기 때문에 가독성이 좋지 않을 수 있습니다. 하지만 이를 해결하는 방법으로는 p6spy의 properties에서 logMessageFormat=%(sqlSingleLine) ${sqlParameters} 와 같이 설정을 바꾸어주는 것입니다. 이러한 설정을 적용하면 쿼리 실행 시점의 파라미터 값을 로그로 확인할 수 있습니다.
또한, 이외에도 Spring의 application.properties 파일에서 spring.jpa.properties.hibernate.format_sql=true 라는 설정도 추가하시면 JPA 쿼리 로그의 파라미터 값을 볼 수 있습니다.
이상입니다. 궁금한 점이 있으면 댓글로 물어보세요. 감사합니다.
SpringBoot 4.X에서의 Querydsl 설정
0
92
2
querydsl 오픈소스에 대한 질문
0
73
1
예제에서의 카운트 쿼리에서 join문과 where문은 필요없지 않나요?
0
109
1
Querydsl 6.X버전에 대해서 어떻게 생각하시나요?
0
318
2
여러 테이블 조인하여 통계치를 구하고자 할 때 어떤 방법이 더 효율적일까요
1
71
1
fetchResults()는 더이상 권장되지 않는다는데 맞나요?
0
160
1
querydsl sum() 메서드 없어요.
0
160
2
build 디렉터리 생성
0
140
2
자바 ORM 표준 JPA 프로그래밍 - 기본편 듣고 바로 학습해도 괜찮을까요?
0
114
2
현재 Querydsl에서 from절 서브쿼리를 지원하나요?
0
92
1
오타 제보 드립니다.
0
73
2
벌크 연산과 flush, clear
0
76
1
Run As Intellij 로 변경시 Q타입 import 불가
0
88
1
QHello import하기 문제 발생
0
147
2
등록된 함수 보는법(H2Dialect) 질문
0
69
2
5.0부터 Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다고 하는데 이에 맞는 강의
1
199
2
[환경설정 PDF 부트 3.0이후 설명 질문] build.gradle에 compileQuerydsl을 정의하지 않은 상태에서 Gradle->Tasks->other->compileQuerydsl을 클릭하라고 하는 이유가 무엇인가요??
1
202
1
querydsl 설정 문제
0
222
2
quey dsl 설정부분
0
158
2
count 쿼리 관련 질문입니다!
0
75
1
stringtemplate를 이용하여 where절 검색 방법 질문 드립니다.
0
89
1
답변부탁드리겠습니다.
0
90
2
(OrderSpecifier)관련 내용 어디있을가요
0
66
1
중급문법 벌크연산에서
0
83
2





