• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

22.04.27 16:42 작성 조회수 241

0

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

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

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

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

답변 1

답변을 작성해보세요.

1

안녕하세요. 박태영님

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

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

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

감사합니다.

박태영님의 프로필

박태영

질문자

2022.04.29

감사합니다. :)