JPQL에서는 from절에서 서브쿼리를 지원하지 않는다.
따라서, Query DSL에서도 From 절에서는 서브쿼리를 사용하지 못한다.
그럼 어떻게?
- 서브 쿼리 ➡️ join 으로 변경
- 쿼리를 분리해서 2번 실행 ( 1번이 안되면)
- nativeSQL 사용 (2번이 안되면)
Tip
DB에서 데이터를 가져올 때, 딱 맞는 데이터를 짜서 데이터를 가져오기보다는 적당히 정제해서 가져오고, 애플리케이션에서 로직으로 해결하는 게 더 효율적일 수 있다.
( 굳이, 서브쿼리로 복잡하게 지지고 볶을 필요는 없다!)
출처
https://www.inflearn.com/course/Querydsl-%EC%8B%A4%EC%A0%84 (김영한님 querydsl 강의)
'스프링' 카테고리의 다른 글
[Query Dsl] On vs Where (0) | 2024.02.20 |
---|---|
[Query Dsl] 연관관계가 없는 엔티티들 조인하기 (0) | 2024.02.20 |
[WAS] 서블렛이란? (0) | 2023.06.02 |
롬복(lombok) 생성자 애너테이션 정리 (0) | 2023.03.20 |
Spring Security - 스프링 시큐리티 정리 (0) | 2023.03.15 |