Skip to content
This repository has been archived by the owner on Oct 5, 2024. It is now read-only.

연관관계 개선 (양방향 연관관계 제거) #35

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

JIWEON-JEONG
Copy link
Contributor

@JIWEON-JEONG JIWEON-JEONG commented Sep 29, 2022

Summary

#34 해당 이슈 개선 PR.

Jira Link

https://ttbkk.atlassian.net/browse/TBK-6

Background (해당 PR을 리뷰하는데 필요한 지식/키워드)

PR checklist

아래의 요구사항을 충족했다면, 체크 해주세요.
체크박스 체크 방법

  • 작업한 내용에 대해 테스트를 진행했음.
  • Jira에 해당 작업물이 최신화 되어있음.
  • untracked files나 unstaged files에 미처 반영하지 않은 코드가 없음. (git status로 누락된 코드가 있는지 체크합니다.)

PR type

어떤 종류의 Pull Request 인가요?

  • 기능 추가
  • 버그 수정
  • 코드 스타일 개선
  • 리팩토링 (기능의 변화가 없어야 합니다)
  • 빌드 관련 변경
  • CI 관련 변경
  • 기타 (내용을 적어주세요)

Breaking change 발생 여부

  • 데이터베이스에 존재하는 table 또는 column의 변경/삭제
  • 사용중인 API의 변경 (하위호환이 불가능한) 하위호환이란?
  • 기타 (내용을 적어주세요)

어떻게 테스트 할 수 있나요?

기존의 테스트 코드 실행으로 테스트.

Lazy 삭제를 보류 한 이유

  • 제일 큰 이유는 SpringDataJpa 에서 제공하는 기본 메서드 함수를 활용하고 싶음.
    해당 함수들을 다 구현 하는 것 보다는 이용할건 이용하자 라는 생각.
  • 즉시 로딩으로 엔티티를 가져올 경우 N+1 문제 발생 (querydsl 뿐만아니라 SpringDataJpa 에서 제공하는 기본 함수들 또한 N+1 문제 발생)

스크린샷 2022-09-29 오후 11 27 29

위의 사진은 Lazy 로딩을 이용하지 않는 경우 발생하는 문제입니다.

  • 지연로딩으로 위의 문제를 막고, 지연로딩에서 발생하는 N+1 문제들을 fetch join 으로 개선 하는게 더 적합하다고 생각이 들었기 때문에.

코멘트 기다리겠습니다.

@JIWEON-JEONG JIWEON-JEONG marked this pull request as ready for review September 29, 2022 14:32
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants