실전! Querydsl - 섹션6. 실무 활용 - 스프링 데이터 JPA와 Querydsl
CS/김영한 스프링 강의

실전! Querydsl - 섹션6. 실무 활용 - 스프링 데이터 JPA와 Querydsl

이제 순수 JPA대신 스프링 데이터 JPA와 querydsl를 같이 사용해본다.

 

 

커스텀해서 사용하려면 인터페이스다보니 좀 복잡하게 해야 한다.

 

 

주의할 점은 꼭 커스텀하고자 하는 인터페이스 이름 + Impl을 할 것. 스프링 규칙임.

 

 

페이징도 해보자. 간단하게 기본으로 주어지는거 사용하는것도 있고 직접 좀 해주는것도 있다.

기본으로 해주는거 Pageable로 해서 가져오면 count용 쿼리 한번 더 날리는거 생각하자.

 

 

 

 

복잡하게 total을 직접 정의하는 이유는, 기본으로 주어진 걸 쓰면 단순 total count 계산할 때도 join같은걸 하기 때문에 직접 정의하여 안하도록 최적화 하는거임.

 

아니면 첫 페이지가 끝이거나 마지막 페이지일 경우 총 total이 필요 없기 때문에 count를 날릴 필요가 없다. 그래서 함수를 날려서 필요할 때 사용하라고 할 수 있음. 조금이라도 최적화 하는 거다.

 

 

 

이제 실제 컨트롤러에 적용해보기

 

 

 

 

 

섹션7은 편리하긴 한데 아직 조인을 지원하지 않아 복잡한 실무에선 사용하기 무리인 것들.. Querydsl4RepositorySupport 정도가 쓸만한듯.