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

writer0713님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

프로젝션(SELECT)

DTO로 조회해도 영속성 컨텍스트에서 관리가 되나요?

19.09.05 13:23 작성

·

400

4

"select new Dto(m.name, m.age) from Member m"

을 통해서 DTO로 SELECT를 하게 되면 영속성 컨텍스트로 관리가 안될거 같은데요. 이럴 경우에는 update나 delete를 하려면 다시 entity에 연결해서 사용해야 하나요?

답변 1

3

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

2019. 09. 05. 23:05

안녕하세요 writer0713님

말씀하신데로 데이터를 직접 조회하게 되면, 엔티티가 아니라 값을 조회하는 것이어서 영속성 컨텍스트에 관리가 안됩니다.

이럴 경우에는 2가지 처리 방법이 있습니다^^

1. 다시 entity를 조회해서 사용한다.

2. 벌크연산을 사용한다.(이 방법을 사용하면 SQL에서 update, delete 하듯이, JPQL을 사용해서 update, delete를 처리할 수 있습니다.)

벌크연산은 섹션 12. 객체지향 쿼리 언어2 - 벌크연산을 참고해주세요 :)

감사합니다.