강사님 질문 드립니다!
199
작성한 질문수 20
강의 잘 듣고 있습니다!
실제 실무에서 JPA를 사용해서 조회할때,
조회하는 데이터 양이 많을때는 DTO 를 직접 조회해서 사용하고
조회하는 데이터 양이 많지 않을때는 페치조인을 사용하여 DTO를 반환하는 방식으로 사용하나요 ? ?
아니면 실무에서 따로 내부적으로 조회하는 쿼리는 이렇게 사용하자~ 라고 하는 내부규칙에 있을까요 ??
답변 1
2
안녕하세요. sjdzn119님
데이터의 양을 기준으로 한다기 보다는 비즈니스 로직의 재활용성과 성능 사이에 미묘한 부분이 있습니다.
페치조인을 사용하여 DTO를 반환하는 방식은 리포지토리 로직을 재활용할 가능성이 높습니다. (반 가공 상태)
반면에 DTO로 직접 조회하면 이미 가공이 완전 끝난 상태로 조회하기 때문에 재활용 가능성이 적습니다.
따라서 이런 부분에 대한 고민이 필요합니다. 추가로 두가지가 극적으로 성능 차이가 나지는 않기 때문에, 그리고 상황마다 달라서 성능이 실제 많이 안나올 때 최적화가 꼭 필요하면 최적화를 시도합니다.
감사합니다.
강의 관련 외 질문입니다.
0
64
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
0
85
1
BeanCreationException
0
86
3
Update 후 UpdateMemberResponse 매핑할 때
0
46
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
96
2
페이징 + 검색조건 관련해서 질문드립니다.
0
70
1
Query Dsl Q파일 질문입니다.
0
81
1
루트 쿼리라는것은
0
58
1
메서드를 분리하는 기준
0
61
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
108
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
83
2
fetch join과 영속화와 OSIV의 관계
0
83
2
Distinct 사용 전 결과에 대한 의문
0
113
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
55
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
77
2
dto 필드 속 엔티티 여부
0
58
1
뷰템플릿 사용 시
0
76
2
Result 클래스 관련 질문
0
56
1
@PostConstruct 프록시 관련 질문드립니다
0
85
1
DTO 대신 Form 사용은 안되나요?
0
133
1
OSIV ON 상태일 때
0
94
1
fetch join VS fetch join 페이징 궁금증
0
179
2
양방향 연관관계 알아보는 법?
0
104
1
16강 17강 간단 정리 이게 맞을까요 ?
0
165
2





