
기본적으로 JPA를 사용할 때 별 다른 설정이 없다면 쿼리 값은 ?로 나타나게 된다.
이때, ? 값을 따로 확인하기 위해 application.yml에 logging 설정을 해주는 것이 일반적이다.
하지만 원래 하던 방식대로 logging 설정을 한 결과 ?값에 해당하는 값을 확인할 수 없었다.
logging:
level:
#org.hibernate.type.descriptor.sql: TRACE
#org.hibernate.type: TRACE
이는 hibernate의 버전 때문이다. Spring boot 3.x를 사용하면서 hibernate6를 사용하게 되었고 (현재 Spring Data JPA 3.x가 hibernate 6를 사용한다.) 버전이 변경되어 기존에 있던 설정으로는 쿼리 파라미터를 확인할 수 없다.
위 코드 중 주석처리 된 두 값 모두 쿼리 파라미터 로깅이 되지 않는다.
logging:
level:
org.hibernate.orm.jdbc.bind: trace
위와 같이 변경하면 쿼리 파라미터를 확인할 수 있다.

해당 문제가 버전 문제일 줄은 생각하지 못했다. 뭔가 설정이 잘못되었다고 생각해서 이리저리 변경했음. 앞으로 문제가 해결되지 않을 땐 코드나 설정보다 현재 프로젝트의 구성, 버전도 고려해야 함을 알게되었다~!