• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@EntityGraph로 ToMany 를 가져왔을 때 질문이 있습니다.

20.12.10 10:18 작성 조회수 310

0

안녕하세요, 늘 좋은 강의 잘 듣고 있습니다.

다름이 아니라 @EntityGraph를 듣다가 문득 예전 강의에서 ToMany 관계를 조인하게 되면 중복 데이터가 난다고 들었던 것 같은데, 프로젝트에서 @EntityGraph 사용 중 다음과 같이 예상치 못한 현상을 보게되어 문의드립니다. 

보기에 JPQL과 함께 사용하지 않으면 @EntityGraph만 사용해도 중복 데이터를 해결하는 것 처럼 보이는데, 제가 이해한게 맞을까요?

그리고 어떤 이유로 인하여 위와 같은 차이가 생기는지, 실무에서 첫번째처럼 사용해도 괜찮은지 궁금합니다.

문서들을 찾아보다가 답을 구하기 힘들어 도움을 요청드립니다.

감사합니다!

답변 2

·

답변을 작성해보세요.

2

안녕하세요 Yeon님^^

실행된 JPQL을 확인해보시면 바로 그 이유를 찾을 수 있을거에요.

두번째 @Query는 다음과 같이 수정되어야 처음 쿼리와 같아집니다.

"select d from Drive d where d.driveKey = :driveKey"

감사합니다.

1

Yeon님의 프로필

Yeon

질문자

2020.12.10

엇.. 제 부끄러운 질문에 답변 주셔서 감사합니다ㅠ

다른 부분에 정신이 매몰되어 딴 부분만 계속 파고 고민했네요;

사실 저 부분을 @EntityGraph만 선언하면 distinct 되지 않고 여러개 로우가 나오지 않을까 생각한 상태로 테스트 봤는데,

테스트 결과가 1건만 나와서 사고가 이상하게 흐른 것 같습니다.

@EntityGraph를 사용하면 그런 부분까지 고려되어 바인딩되나 보네요.

답변 감사드립니다!