본문 바로가기

dev/JPA

JPA QueryDSL 집계 쿼리

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 조회 화면

 

해당 코드를 json으로 조회했을 때 정상적으로 실행된 것을 알 수 있습니다.

'dev > JPA' 카테고리의 다른 글

JPA Eager Lazy Loading  (0) 2023.09.01
JPA QueryDSL Paging  (0) 2023.08.31
JPA Insert Batch  (0) 2023.08.30
JPA ID SEQUENCE  (0) 2023.08.30
JPA Infinite Recursion 예외 처리  (0) 2023.08.29