레거시 프로그램의 경우

 

StringBuilder를 통해 쿼리문을 문자열로 만들어서 실행하는 코드

StringBuilder sb = new StringBuilder(some_appropriate_size);
sb.append("select id1, id2, id3, id4, ... ");
sb.append(id2);
...

sb.append(" from ");
...

sb.append(" where ");
...

sb.append(" order by ");
...
return sb.toString();

 

hibernate.show_sql

spring.jpa.properties.hibernate.show_sql=true

spring.jpa.properties.hibernate.show-sql=true

https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html

 

  • Hibernate가 DB에 수행하는 모든 쿼리문을 콘솔에 출력합니다.
  • 디폴트 값은 false 입니다.

 

org.hibernate.SQL=debug 사용을 권장합니다.

 

hibernate.format_sql

spring.jpa.properties.hibernate.format_sql=true

https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html

  • 로그, 콘솔의 SQL을 좀 더 이쁘게 출력합니다.
  • 만약 위 설정인 show_sql이 false라면 출력되는 쿼리문이 없으므로, 필요없는 설정입니다.
  • 디폴트 값은 false 입니다.

 

hibernate.highlight_sql

spring.jpa.properties.hibernate.highlight_sql=true

  • SQL 출력을 ANSI escape codes를 사용하여 색을 부여합니다.

hibernate.use_sql_comments

spring.jpa.properties.hibernate.use_sql_comments=true

  • 보다 쉬운 디버깅을 위해 SQL 내부에 /* */의 주석을 추가합니다.

 

hibernate.type.descriptor.sql=trace

logging.level.org.hibernate.type.descriptor.sql=trace
  • 쿼리문 로그에 출력되어 있는 파라미터(?)에 바인딩 되는 값을 확인할 수 있습니다.
  • trace로 설정해야 바인딩 파라미터를 확인할 수 있습니다.
  • binding parameter

'Spring Boot' 카테고리의 다른 글

@NotNull, @NotEmpty, @NotBlank 비교  (0) 2022.05.27
복사했습니다!