dev/JPA
JPA QueryDSL 집계 쿼리
tiqndjd12
2023. 8. 31. 16:37
JPA에서 QueryDSL로 집계 쿼리를 사용하는 방법입니다.
예제 집계 코드를 보게 되면 각 팀의 인원을 조회하고 있습니다.
employee 엔티티와 team 엔티티를 join 하고(66라인)
team 엔티티 id로 집계한 다음에(67라인)
team 이름과 팀의 인원을 조회합니다.(64라인)
해당 조회 결과를 메타 클래스에 저장할 수 없기에 stream을 활용하여 TeamDto 클래스에 매핑한 뒤 저장합니다.(63, 69~74라인)
예제 집계 코드를 DB 쿼리로 비유하면
select team.id, count(*)
from team
join employee
on team.id = employee.team_id
group by team.id
와 비슷하다고 할 수 있습니다.
해당 코드를 json으로 조회했을 때 정상적으로 실행된 것을 알 수 있습니다.