반응형
Spring Boot에서 JPA를 이용해 개발을 진행 시 로그에 쿼리들이 올라오는데, 이 때 쿼리 속 파라미터가 ?로 표시된다.
이 경우엔 크게 2가지 방법으로 파라미터를 알아낼 수 있다.
1) trace 설정
필자는 application.yml 기준이니 application.properties를 사용하는 경우 그에 맞게 작성하면 된다.
(application.yml)
logging:
level:
org.hibernate.SQL: debug
org.hibernate.type: trace # JPA 쿼리의 파라미터가 표시되도록 (쿼리 뒤에 parameter를 알려줌)
적용 후)
2) 외부 라이브러리 사용 (p6spy)
https://github.com/gavlyukovskiy/spring-boot-data-source-decorator
단순하게, 위의 라이브러리를 추가하면 된다.
필자는 gradle을 사용하며 마찬가지로, maven을 사용하는 경우에 그에 맞게 추가하면 된다.
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'
적용 후)
※ 참고
- 다른 Spring관련 라이브러리를 추가할 때와는 달리 이 라이브러리엔 버전을 기입한 이유
→ Spring에서 지원하는 라이브러리의 경우 알아서 호환성이 좋은 버전으로 추가시켜주기 때문이다. - 이러한 외부 라이브러리를 사용 시, 운영 환경에 적용할 때는 고려해야 한다.
→ 성능, 보안 이슈가 발생할 수 있기 때문이다.
반응형
'BE > JPA' 카테고리의 다른 글
[JPA] Dirty Checking(변경 감지) vs Merge(병합) (0) | 2023.10.15 |
---|---|
[Spring Boot JPA] 테이블명, 컬럼명 생성 전략 수정하는 방법 (0) | 2023.01.18 |
[JPA] PK 타입을 UUID로 사용하는 방법 (0) | 2022.05.09 |
[JPA] 17. JPQL - 2편 (0) | 2022.05.04 |
[JPA] 16. JPQL - 1편 (0) | 2022.05.01 |