[BE] refactor: fetchtype을 Lazy
로 변경한 후 EntityGraph
를 사용해 최적화
#978
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
EAGER
를LAZY
로 변경하고, 쿼리를 최적화한다. #977🔥 어떻게 해결했나요 ?
문제 상황, 함께 이야기해보면 좋을 것
현재 추상화로 인해 아래와 같은 객체 구조를 가집니다:
이 상황에서 ReviewRepository에서 Answer에 대한 LAZY 처리 + EntityGraph를 사용해 N+1 문제를 해결했습니다만,
CheckboxAnswer -> CheckboxAnswerSelectedOption
의 N+1 문제는 해결하지 못했습니다.Review
에서Answer
를 fetch하기 때문에 하위 클래스에 대한 properties를 불러오지 않기 때문인데요...이거 같이 해결하면 좋을 것 같아 우선 PR 올리고 대기합니다. 아이디어 바람...
결론 및 문제상황:
0. 해당 문제 상황을 확인하기 위해서는
ReviewDetailLookupServiceTest.사용자가_작성한_리뷰를_확인한다
를 한 바퀴 돌려보면 됨.우선 1, 2는 해결했기 때문에 PR을 올립니다. 어떻게 해결하면 좋을지 의견 나눠주시면 감사하겠습니다~