-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
default_batch_fetch_size 질문
24.03.18 21:20 작성 조회수 75
0
안녕하세요 강의를 들으며, 토이 프로젝트에 jpa를 적용해보려하는데 문제가 생겨 질문을 드리게 되었습니다.
default_batch_fetch_size를 사용하게 되면 @OneToMany관계를 가질 때 미리 지정된 개수만큼 join을 해서 가져오는 것으로 이해를 했습니다.
여기서 페이징 처리를 하고 싶은데, default_batch_fetch_size를 이용해 얻은 값에서 원하는 값만 조회를 하고 싶습니다.
현재 문제는 user와 tag(사용자가 관심있는 태그), post가 있을 때,
user와 tag가 N:M 관계,
tag와 post가 N:M 관계를 갖습니다.
각각을 1:N, N:1로 나타내기 위해 연결 테이블을 만들었습니다.
PostRepository에서 user가 관심있는 태그에 해당하는 게시물을 페이징으로 가져오고 싶은데 default_batch_fetch_size를 이용하면 직접 접근이 불가능할 것 같은데 이런 경우에는 어떻게 해결할 수 있을까요?
답변을 작성해보세요.
0
김영한
지식공유자2024.03.19
안녕하세요. spahqhdl님
이 문제는 일반적인 sql의 join을 사용해서 해결해야 합니다.
JPQL도 sql의 join을 지원합니다.
먼저 JPQL(SQL)을 어떻게 작성해야 할지 고민해보시면 도움이 되실거에요.
그리고 상황에 따라 JPQL(SQL)을 여러번 나누어 실행해야 할 수 도 있습니다.
감사합니다.
답변 1