기존에는 잘 됐는데, 다른 reports와 likeds 개수를 함께 반환하도록 수정한 이후에 이런 문제가 발생했다.
reports와 likeds 개수를 반환하도록 쿼리문을 수정하면서 달라진 점은 getMany()
대신에 getRawMany()
를 사용했다는 것!
getMany()
는 현재 이 레포지터리의 엔티티 (Posting) 객체대로 반환되고, getRawMany()
는 정말 Raw하게 반환된다.
왜 getRawMany()
를 사용했냐면, 임의로 해당 게시글의 신고 개수와 좋아요 개수를 나타내는 reports, likeds를 추가로 select
했는데, 이들은 Posting 객체에 정의되지 않은 필드라서 getMany()
로는 반환 값에 포함되지 않는다. getRawMany()
를 해야만 내가 추가한 reports와 likeds가 나왔다.
그런데 이게 웬걸 ㅜㅜ
페이지네이션을 위해 skip
과 take
를 사용하고 있었다. 그런데 getRawMany()
는 skip과 take를 지원하지 않는다고 한다…
그래서 offset
과 limit
을 사용하도록 수정