Spring Data JPA 를 단위 테스트할 때 기본 설정으로 하면 실행된 쿼리를 볼 수 없습니다.
실행된 쿼리도 보면서 테스트를 진행하고 싶습니다.
우선 resources 디렉토리 아래에 application.properties 파일을 생성합니다.
옵션은 다음과 같이 추가합니다.
spring.jpa.show_sql=true
그럼 다음과 같이 콘솔에서 쿼리 로그를 확인할 수 있습니다.
그런데 테이블을 만드는 쿼리문 create table posts (id bitint generated by default as identity, author varchar(255) 를 보시면
익숙한 MySQL 쿼리가 아닙니다. 이는 H2의 쿼리 문법이 적용되었기 때문입니다.
H2는 MySQL의 쿼리를 수행해도 정상적으로 작동하기 때문에 이후 디버깅을 위해서 출력되는 쿼리 로그를 MySQL버전으로 변경해 보겠습니다. 다음 코드를 추가합니다.
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
추가했다면 다시 테스트를 실행했을 때 콘솔 로그에서 MySQL 쿼리를 실행하는걸 확인할 수 있습니다.
'Spring' 카테고리의 다른 글
SpringBoot build.gradle 설정 (0) | 2021.01.26 |
---|---|
스프링 트랜잭션에서 RuntimeException이 발생하면 롤백이 발생하는 이유 (2) | 2021.01.17 |
세션 저장소를 사용하는 3가지 방법 (0) | 2020.07.25 |
Spring Security 와 OAuth2 로 로그인 구현 (구글, 카카오, 네이버 등) (0) | 2020.07.25 |
SpringBoot 각종 Annotation (0) | 2020.07.22 |
댓글