applicarion.properties
# Query 를 콘솔에 출력
spring.jpa.show-sql=true
# Hibernate에서 출력하는 Query를 보기 좋게 출력
spring.jpa.properties.hibernate.format_sql=true
# Hibernate에서 Query 를 콘솔에 출력
spring.jpa.properties.hibernate.show_sql=true
# Hibernate에서 Query 의 중요 부분을 하이라이트 한다
spring.jpa.properties.hibernate.highlight_sql=true
# Hibernate가 Query를 debug 수준 출력
logging.level.org.hibernate.SQL=debug
# Hibernate가 Query 에서 parameta 를 TRACE 수준 출력
logging.level.org.hibernate.orm.jdbc.bind=TRACE
# Hibernate에서 Query 에 주석을 추가한다
spring.jpa.properties.hibernate.use_sql_comment=true
아무 설정을 하지 않았을 때는 Query 실행 시 log 에 아무것도 출력되지 않는다
하나씩 설정해가면서 어떻게 바뀌는지 확인해 보겠다
spring.jpa.show-sql=true
spring.jpa.show-sql=true 적용
Spring Data JPA에서 Query log를 출력해 준다
Query 가 출력되고 있지만 한 줄로 나오고 있어서 가독성이 좋지 않다
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.format_sql=true 적용
format_sql 로 인하여 보기 좋게 정렬되어 나오지만
parameta 값이 나오지 않아서 사용자가 입력한 데이터가
정상적으로 조회되고 있는지 확인이 안 된다
spring.jpa.show-sql=true 또는 spring.jpa.properties.hibernate.show_sql=true 와 같이 사용해야 한다
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.show_sql=true 적용
처음에 적용하였던
spring.jpa.show-sql=true 와 log 가 같다
차이로는
Hibernate 자체에서 Query 출력을 활성화시킨다고 한다
spring.jpa.properties.hibernate.highlight_sql=true
spring.jpa.properties.hibernate.highlight_sql=true 적용
중요 부분에 하이라이트를 해준다
가독성이 더 좋아졌다
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.SQL=debug 적용
debug log 와 hibernate log 둘 다 출력되었다
Query 가 두 번 실행된 것인지 debug log 만 출력된 것인지 확인할 수 없으니
다음 설정을 추가하여 확인해 보자
logging.level.org.hibernate.orm.jdbc.bind=TRACE
logging.level.org.hibernate.orm.jdbc.bind=TRACE 적용
몇 번째 parameta 에 binding 했는지 값과 함께 출력된다
binding 수를 보니 Query 가 한 번만 실행된 것을 확인할 수 있다
spring.jpa.properties.hibernate.use_sql_comment=true
spring.jpa.properties.hibernate.use_sql_comment=true 을 적용하고
Query 를 실행하면 log 에 자동으로 주석이 생긴다는데
출력이 되지 않아 TEST 를 못하였다
중복이 되는 첫 번째 설정을 제외하고는 모두 설정하여 진행하였다
log4j 만 생각하고 log4j2 를 설치해서 삽질하다 보니
JPA 에서는 application.properties 에 설정만으로도 동작을 하더라...
'개발 > JPA' 카테고리의 다른 글
[JPA] @OneToOne 사용하기 (1) | 2024.11.16 |
---|---|
[JPA] @OneToMany , @ManyToOne 사용하기 (1) | 2024.11.15 |
[JPA] @GeneratedValue 사용하기 (0) | 2024.11.14 |
[JPA] Entity 설정하기 (0) | 2024.11.13 |
[JPA] DELETE 하기(Delete , DeleteById , DeleteAll) (0) | 2024.11.12 |
댓글