강의

멘토링

커뮤니티

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

콩코드여객기님의 프로필 이미지
콩코드여객기

작성한 질문수

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

주문 조회 V4: JPA에서 DTO 직접 조회

작성

·

347

0

안녕하세요. 궁금한게 생겨서 글을 남기게 되었습니다.

페치 조인은 관련된 엔티티들을 지연로딩하지 않고 쿼리 한번에 조회하는 것으로 알고있습니다.

해당하는 부분에서 패치조인으로 데이터를 가져온 후 for 루프를 돌면서 item을 업데이트하면 에러가 발생합니다.

왜 그런지 좀 알 수 있을까요? 페치 조인은 조회만 가능하고 수정은 불가능 한 건가요?

답변 1

1

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

안녕하세요. 박태영님

Dto로 조회하게 되면, 엔티티를 직접 조회하는 것이 아니기 때문에 영속성 컨텍스트에서 관리되지 않습니다.

따라서 데이터도 변경되지 않습니다.

추가로 지금 쿼리의 경우 Dto로 조회하는데 fetch join을 사용했습니다. fetch join은 엔티티를 조회할 때만 사용할 수 있습니다.

감사합니다.

감사합니다. :)

콩코드여객기님의 프로필 이미지
콩코드여객기

작성한 질문수

질문하기