티스토리 뷰

반응형

이번 글에서는 QueryDSL 을 사용하면서 로그에서 출력되는 SELECT 쿼리를 심플하게 만들어주는 방법에 대해 설명하고자 합니다.

spring.jpa.properties.hibernate.use_sql_comments=true

이 설정을 적용하면 QueryDSL에서 사용하는 쿼리일 떄, JPQL 에서 생성되는 지저분한 SQL 포맷을 깔끔한 코멘트의 내용으로 확인할 수 있습니다. 

예를 들어 Member.java 가 아래와 같다고 가정해보겠습니다. 

@Entity
@Getter
@Setter
public class Member {
    @Id @GeneratedValue
    @Column(name = "member_id")
    private Long id;
    private String username;
    private Integer age;
}

 

그러면 QueryDSL을 사용하여 기본으로 호출되는 로그를 확인해보면 아래와 같이 뿌려지게 됩니다.

select member0_.member_id, 
       member0_.username,
       member0_age
from member member0_

 

그래서 위의 properties 를 적용시켜주면 아래와 같이 출력됩니다. 

/* // 주석 내용에 포함된 것을 확인할 수 있습니다.
    select 
         member1
    from 
         Member member1
*/ select member0_.member_id, 
       member0_.username,
       member0_age
from member member0_

 

 


또, 로그를 출력하는 방법중에 외부 라이브러리인 p6spy 를 추가해주어도 편하게 로그가 확인 가능합니다.

build.gradle

// https://mvnrepository.com/artifact/p6spy/p6spy
implementation 'p6spy:p6spy:3.9.1'
반응형
댓글
공지사항