-
QueryDsl - Date 작성시 Expressions.dateTemplate를 사용하자!JPA 2019. 9. 3. 22:20반응형
사실 꼭 그렇지 않지만 나는 entity로 생성된 Q파일의 DateTimePath<java.util.Date> type은 Expressions.dateTemplate을 사용하는 것을 선호한다
그 이유는 예제를 보자.
전체 쿼리를 보여주면 오히려 복잡할 것 같아 짤라서 첨부했습니다.
updDm은 DateTimePath이다 그래서 비교 대상은 날짜 관련 객체만 올 수 있다.
그래서 나는 처음에는 생각 없이 저렇게 사용 하였다.
updDm의 값은 값은 이러하다.
그리고 querydsl을 실행하였더니....
조회 결과가 362066건이 나와버렸다...
분명 이렇게 나올 수 없는 건수였는데 그래서 바인딩 된 값을 확인하였더니
Wed Jan 23 09:22:21 KST 2019 updDm값이 저렇게 바인딩 되었다. 58만개에서 줄긴? 줄었다ㅋㅋ
그래서 Date 관련 templates가 있을것 같아서 찾아보니
이렇게 사용하고 실행해 보았다.
그러니 짜잔! 73건만 나오게 되었다.
바인딩 된 값은 이러하다
사실 별거가 분명히 아니며 당연한 결과다 실제로 mybatis를 사용했을 땐 이런 경험을 해본적이 없다..ㅋㅋ
querydsl을 사용하면서 상당히 별거 아닌 일에 힘을 많이 쏟지만 경험이라 생각하고 오늘도 웃고 넘어간다
그리고 혹시나 나 처럼 누군가가 이러한 시행착오에서 빨리 벗어나길 바라는 마음으로 글을 쓴다.
다른 방법이 있으신분들은 댓글 달아주세요 ^ㅡ^
반응형'JPA' 카테고리의 다른 글
spring batch에서 JPASQLQuery를 사용한 이유 (0) 2021.04.05 Spring Batch with QuerydslItemReader (0) 2020.05.02 QueryDsl - char(1)보다는 varchar(1)을 사용하자 (0) 2019.10.21 QueryDsl from subquery와 join을 해보자! (10) 2019.09.03 QueryDsl QuerydslRepositorySupport에서 group_concat사용하기! (0) 2019.09.01