You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ㅇ? JOIN + JOIN FETCH가 작동을 안 한다. @EntityGraph로 작성하니 된다.
// 여전히 Section.containsQuestionId에서 쿼리가 나간다.@Query(""" SELECT s FROM Section s JOIN TemplateSection ts ON s.id = ts.sectionId JOIN FETCH SectionQuestion sq ON s.id = sq.sectionId WHERE ts.templateId = :templateId ORDER BY s.position ASC """)
List<Section> findAllByTemplateId(longtemplateId);
// 이렇게 하니까 해결된다..?@EntityGraph(attributePaths = {"questionIds"})
@Query(""" SELECT s FROM Section s JOIN TemplateSection ts ON s.id = ts.sectionId WHERE ts.templateId = :templateId ORDER BY s.position ASC """)
List<Section> findAllByTemplateId(longtemplateId);
🔍 설명
🔥 할 일
EAGER
를LAZY
로 바꾸고, 이 과정에서 발생하는 여러 문제를 해결합니다. 쿼리 최적화 가보자고FETCH JOIN
을 넣고, 서비스단에서 적절히 변환하는 게 필요하겠습니다.⏰ 예상 시간
🐴 할 말
The text was updated successfully, but these errors were encountered: