레거시 프로그램의 경우
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 |
---|