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


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



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

페이징도 해보자. 간단하게 기본으로 주어지는거 사용하는것도 있고 직접 좀 해주는것도 있다.
기본으로 해주는거 Pageable로 해서 가져오면 count용 쿼리 한번 더 날리는거 생각하자.




복잡하게 total을 직접 정의하는 이유는, 기본으로 주어진 걸 쓰면 단순 total count 계산할 때도 join같은걸 하기 때문에 직접 정의하여 안하도록 최적화 하는거임.
아니면 첫 페이지가 끝이거나 마지막 페이지일 경우 총 total이 필요 없기 때문에 count를 날릴 필요가 없다. 그래서 함수를 날려서 필요할 때 사용하라고 할 수 있음. 조금이라도 최적화 하는 거다.

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



섹션7은 편리하긴 한데 아직 조인을 지원하지 않아 복잡한 실무에선 사용하기 무리인 것들.. Querydsl4RepositorySupport 정도가 쓸만한듯.
'CS > 김영한 스프링 강의' 카테고리의 다른 글
스프링 부트 - 핵심 원리와 활용 - 섹션2. 웹 서버와 서블릿 컨테이너 (0) | 2023.11.11 |
---|---|
스프링 부트 - 핵심 원리와 활용 - 섹션1. 스프링 부트 소개 (0) | 2023.11.09 |
실전! Querydsl - 섹션5. 실무 활용 - 순수 JPA와 Querydsl (0) | 2023.10.20 |
실전! Querydsl - 섹션4. 중급 문법 (0) | 2023.10.20 |
실전! Querydsl - 섹션3. 기본 문법 (1) | 2023.10.19 |