작성
·
145
0
안녕하세요! 지난번의 질문에 대한 답변으로 부터 많은 도움을 받았습니다.
곧바로 또 다른 질문을 해서 죄송합니다.
상황 : Post Reply N : 1 단방향 관계. Reply에 객체 그래프가 있음.
여기서 Post를 갖고올 때, Reply 도 PostId가 있는 부분을 같이 가져와야합니다.
그래서 저는
Post post = postRepositroy.find( 1L );
List<Reply> replys = replyRepository.findByPost( post );
return reponseDto(post, replys);
이렇게 갖고 온다고 했을 때,
Reply에 @JoinColumn 으로 PostId가 잇기 때문에
굳이 인덱스를 걸지 않아도 Lazy로 갖고올 때, 풀스캔을 안타는 걸로 알고 잇씁니다.
하지만, 간혹적인 풀스캔 이슈가 있다고 해서 index를 postId에 걸어주려하는데요.
이런 상황에서 코드를 짤때, 즉, 해당 Post와 거기에 맞는 Reply를 전부 갖고올 때,
어떤식으로 코드를 짜야할지 궁금합니다. 제가 하는 방향성이 맞을까요 ? ? ?
답변 1
0
안녕하세요. 경재님
다음과 같이 작성하시면 됩니다.
JPQL에서 엔티티로 조회
select r From Reply r where r.post = :post
또는 JPQL에서 postId로 직접 조회
select r From Reply r where r.post.postId = :postId
감사합니다.