[SpringBoot Querydsl : 기초 문법]

Han Gyul Kang·2022년 5월 5일
0

Inflern_Spring_Querydsl

목록 보기
3/7

> 서브쿼리

JPA와 Querydsl은 from절의 서브쿼리(인라인 뷰)는 지원하지 않는다.

[해결 방안]
1. 서브쿼리를 join으로 변경한다(거의 대부분 가능하다.).
2. 애플리케이션에서 쿼리를 2번 분리해서 실행한다.
3. nativeSQL을 사용한다...

[From절에 서브쿼리를 사용하는 이유]
1. 화면에서 데이터를 보여주기 위한 로직이나 포멧팅을 쿼리에서 많이 처리함
2. 쿼리에서 모든 걸 해결하려고 함

DB는 필터링 및 그룹핑하여 데이터를 가져오는 용도로만 사용하는 것이 좋음(재활용성++)
로직은 애플리케이션이나 프레젠테이션에서 해결해야 함

> 한방 쿼리?

정말 복잡한 쿼리의 경우 차라리 여러 차례 쿼리를 나누어 실행하고
비즈니스 로직에서 목표한바를 이루는 것이 좋을 가능성이 높다.

> Case문...

Case문은 사용 여부를 고민해야 함
쿼리의 목적은 다시 말하지만 필터링과 그룹핑이 주 목적
어쩔 수 없이 사용해야할 때가 분명히 있긴 하지만 쿼리는 최대한 순수 데이터를 추출하는데 이용하고
데이터 표현 로직은 서버나 화면에서 해주는 것이 좋다.

> 예제

github:gang6607

profile
피아노 치는 개발자

0개의 댓글