[QueryDSL] LocalDateTime 타입 변경하기

19·2023년 11월 8일
0

에러 모음

목록 보기
12/30

배경

QueryDSL에서 LocalDateTime인 필드를 Date 타입으로 변경해서
select, where, group by절등에서 사용하려고 했다

.select(..., Date.valueOf(sample.createDate))
  • 쿼리를 자바 코드로 작성할 수 있어서 혹시 되나? 했는데 역시 안됐다

내가 한 방법

QueryDSL에서 제공하는 표현식을 제작하는 라이브러리인 Expressions를 사용해서 해결할 수 있었다

DateTemplate<Date> dateTemplate = Expressions.dateTemplate(Date.class, "DATE({0})", sample.createDate);
.select(..., dateTemplate)
---------------------------------------------
.where(dateTemplate.between(...))
---------------------------------------------
.groupBy(dateTemplate)

참고

https://green-joo.tistory.com/51



LocalDateTime 타입을 변경한 것처럼, 다른 타입도 가능하다
Expressions 키워드를 잘 기억해두자

profile
하나씩 차근차근

0개의 댓글