728x90
JPA 쿼리 로그 출력 설정하기
JPA를 사용할 때, 개발 중에 쿼리 로그를 확인하면서 디버깅하는 것은 매우 유용한 기능입니다.
MyBatis와는 달리 JPA는 기본적으로 쿼리 로그에 파라미터를 대체하여 출력하지 않습니다.
그러나 몇 가지 설정을 통해 보기 편하게 로그를 구성할 수 있습니다.
이번 글에서는 완벽하게 구성된 JPA 쿼리 로그를 확인하는 방법을 알아보겠습니다.
완성된 Query 확인 하는법
application.yml 파일 수정하기
아래와 같이 application.yml 파일을 수정하여 JPA 쿼리 로그 출력을 설정할 수 있습니다:
좀더 다양한 설정을 테스트 해보고 더 최상의 환경설정이 있는지 연구해 보겠습니다.
spring:
jpa:
show-sql: true
hibernate:
use-new-id-generator-mappings: true
ddl-auto: validate
properties:
hibernate:
format_sql: true
logging:
level:
org:
hibernate:
type:
descriptor:
sql:
BasicBinder: trace
- spring.jpa.show-sql: true: 쿼리 로그를 출력할지 여부를 설정합니다.
- spring.jpa.hibernate.use-new-id-generator-mappings: true: 새로운 ID 생성 전략을 사용합니다.
- spring.jpa.hibernate.ddl-auto: validate: JPA 엔티티와 데이터베이스 스키마의 일치성을 검증합니다.
- spring.jpa.properties.hibernate.format_sql: true: SQL 쿼리를 읽기 쉽게 포맷팅하여 출력합니다.
- logging.level.org.hibernate.type.descriptor.sql.BasicBinder: trace: 파라미터가 대체되어 출력되도록 설정합니다.
쿼리 로그 확인하기
위 설정을 적용한 후, 애플리케이션을 실행하면 JPA 쿼리 로그가 출력됩니다.
이제 로그에는 대체된 파라미터를 확인할 수 있으며, 포맷팅된 SQL 쿼리도 보다 가독성 있게 출력됩니다.
위의 설정을 통해 JPA 쿼리 로그를 완벽하게 구성할 수 있으며, 개발 중에 쿼리 문제를 진단하고 최적화할 수 있습니다.
이렇게 작성된 글을 블로그에 게시하면 JPA 쿼리 로그 설정에 대한 정보를 제공하고,
개발자들이 보다 편리하게 JPA를 사용할 수 있게 도움을 줄 수 있습니다.
728x90
'BackEnd > Spring Boot' 카테고리의 다른 글
Interceptor, Filter 차이 (0) | 2023.07.04 |
---|---|
JPA 적응기_2(Basic편) (0) | 2023.06.11 |
JPA Entity여러 경우 적용_1 (0) | 2023.06.11 |
JPA @Column 옵션 (0) | 2023.06.10 |
JPA 테스트 환경 구축 (0) | 2023.06.10 |