spring boot를 사용할 때 실제로 쿼리가 어떻게 나가는지 봐야 할 경우가 많다.
그럴때 사용할 수 있는 옵션을 기록해보았다.
DB에 날리는 쿼리를 보여주는 옵션
spring:
jpa:
properties:
hibernate:
show_sql: true
spring.jpa.properties.hibernate.show_sql= true
쿼리를 좀 더 예쁘게 보고 싶을 때 추가하는 옵션이다.
spring:
jpa:
properties:
hibernate:
format_sql: true
spring.jpa.properties.hibernate.format_sql= true
주석을 표시해주는 옵션
spring:
jpa:
properties:
hibernate:
use_sql_comments: true
spring.jpa.properties.hibernate.use_sql_comments= true
위에서 본 sql 보기(system.out) 은 쿼리를 system.out으로 보여주는 것에 반해
이 옵션은 logger를 이용해 쿼리를 보여준다.
logging:
level:
org:
hibernate:
SQL: debug
logging.level.org.hibernate.SQL= debug
쿼리에 실제 어떤 값이 실려 전송됐는지 확인하기 위한 옵션
logging:
level:
org:
hibernate:
type:
descriptor:
sql: trace
logging.level.org.hibernate.type.descriptor.sql= trace
위 옵션으로 하면 값과 쿼리가 따로 보이는 단점이 있다.
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.8'
를 추가해주면 값과 쿼리를 같이 볼 수 있다.
보편적으로 많이 사용하는 세팅은 아래와 같다.
spring:
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
#show_sql: true
format_sql: true
logging.level:
org.hibernate:
SQL: debug
type: trace