간단한 주문조회 v3에 관한 질문이있습니다.
227
작성한 질문수 7
쿼리 성능 최적화를 위해서 OrderRepository에 쿼리를 한방에 날리기 위해 fetch join을 사용하는건 이해가 됐습니다.
그렇다면 API스펙이 바뀔때마다 OrderRepository에 새롭게 fetch join을 사용하여 메소드를 생성해야되는 건가요?
답변 1
8
안녕하세요. 김주혁님 좋은 질문입니다^^
API 스펙의 변경 범위에 따라서 리포지토리의 변경 여부가 결정됩니다. 만약 이미 fetch join을 완료한 테이블 안에서 특정 컬럼 몇게만 추가한다면, 리포지토리는 변경없이, 컨트롤러에 DTO 변환 쪽만 변경하면 됩니다.
그런데 만약 API 스펙 변경으로 fetch join 해야하는 테이블 자체가 변경된다면, 리포지토리도 변경해야 합니다.
fetch join 없이 지연로딩으로 풀면 이런 부분들이 좀 더 유연해지지만, 성능이 안나오고, 반대로 fetch join을 사용하면 유연성을 떨어지지만 성능은 잘 나옵니다. 따라서 둘 사이에 트레이드 오프를 두고 고민해야 합니다.
예를 들어서 실무에서 실시간 고객 트래픽을 많이 받는 쪽이면 성능이 중요하므로 fetch join 위주로 가고, 사용자가 적은 내부 어드민이라면 좀더 유연성을 발휘할 수 있습니다.
감사합니다.
강의 관련 외 질문입니다.
0
65
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
0
86
1
BeanCreationException
0
86
3
Update 후 UpdateMemberResponse 매핑할 때
0
46
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
99
2
페이징 + 검색조건 관련해서 질문드립니다.
0
70
1
Query Dsl Q파일 질문입니다.
0
82
1
루트 쿼리라는것은
0
58
1
메서드를 분리하는 기준
0
62
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
108
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
83
2
fetch join과 영속화와 OSIV의 관계
0
84
2
Distinct 사용 전 결과에 대한 의문
0
113
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
56
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
78
2
dto 필드 속 엔티티 여부
0
58
1
뷰템플릿 사용 시
0
76
2
Result 클래스 관련 질문
0
56
1
@PostConstruct 프록시 관련 질문드립니다
0
85
1
DTO 대신 Form 사용은 안되나요?
0
133
1
OSIV ON 상태일 때
0
96
1
fetch join VS fetch join 페이징 궁금증
0
179
2
양방향 연관관계 알아보는 법?
0
104
1
16강 17강 간단 정리 이게 맞을까요 ?
0
165
2





