BackEnd/Spring Boot

JPA 기본 log사용하기

Raconer 2023. 6. 11. 16:09
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