강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

Crimson  Kim님의 프로필 이미지
Crimson Kim

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

주문 조회 V3.1: 엔티티를 DTO로 변환 - 페이징과 한계 돌파

pagination query dsl

작성

·

168

0

안녕하세요 강사님,

페이지네이션 query dsl로 페치조인 적용시에 아래와 같은 pageable 쿼리는 사용이 힘든건가요!?
```

public PageImpl<StoreVo> findStoresByNamePaging(String name, Pageable pageable) { JPQLQuery<StoreVo> query = jpaQueryFactory // 1) .select(Projections.fields(StoreVo.class, store.id , store.name , store.address )) .from(store) .where(store.name.eq(name)); long totalCount = query.fetchCount(); // 2) List<StoreVo> results = getQuerydsl().applyPagination(pageable, query).fetch(); // 3) return new PageImpl<>(results, pageable, totalCount); // 4) }

```

퀴즈

56%나 틀려요. 한번 도전해보세요!

API에서 엔티티 직접 노출(V1) 방식의 가장 큰 문제는 무엇일까요?

LAZY 로딩으로 데이터가 누락될 수 있습니다.

엔티티 변경이 API 스펙 변경으로 이어집니다.

컬렉션 조회 시 N+1 문제가 발생합니다.

보안에 취약하여 민감 데이터가 노출됩니다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. Crimson Kim님^^

Querydsl은 JPQL을 만들어주는 빌더 역할이기 때문에, 이 강의에서 설명하는 내용은 모두 적용 가능합니다.

그리고 해당 코드에는 fetchJoin이 보이지 않습니다.

추가로 앞으로는 질문 안내에 있듯이 해당 강의 내용과 관련된 내용을 질문 부탁드립니다.

감사합니다.

Crimson  Kim님의 프로필 이미지
Crimson Kim

작성한 질문수

질문하기