티스토리 뷰

내가 받아보고 싶은 데이터는 회원 포인트 정보와 회원이 작성한 게시글 수였고 연관관계가 아니기 때문에 연관관계가 아닌 테이블을 join 하는 방법을 찾아야 했다. join 하는 방법은 매우 간단하다.

  1. join 결과를 받아올 클래스 생성 (Projection 클래스)
  2. join(테이블).on(조건) 
override fun findTopRankPoint(count: Long): List<PointRankingResponse> {
        return queryFactory.select(QPointRankingResponse(
            memberPoint2.id,
            memberPoint2.member.id,
            memberPoint2.point,
            board.member.id.count()
        )).from(memberPoint2)
            .leftJoin(board).on(memberPoint2.member.id.eq(board.member.id))
            .groupBy(board.member.id, memberPoint2.point, memberPoint2.id)
            .orderBy(OrderSpecifier(Order.DESC, memberPoint2.point))
            .fetch()
}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함