강의

멘토링

로드맵

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

kyunmho님의 프로필 이미지
kyunmho

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

변경 감지와 병합(merge)

변경 감지 - 원하는 속성만 업데이트

작성

·

309

0

안녕하세요 강사님.

제가 JPA를 공부하면서 익힌 내용으로는, JPA의 더티체킹은 기본값으로 전체 필드를 업데이트 하는 방식을 사용하고 있고, 변경 필드만 반영하고 싶다면 @DynamicUpdate 어노테이션을 활용해야 한다고 알고있습니다!

그런데 수업 자료 PDF의 내용중에

주의: 변경 감지 기능을 사용하면 원하는 속성만 선택해서 변경할 수 있지만 

라는 내용이 있어서 질문 드립니다.

제가 알고 있는 내용이 잘못된걸까요?

아니면 원하는 속성만 선택해서 변경할 수 있지만 -> (DynamicUpdate 어노테이션을 활용해서) 인걸까요??

바쁘시겠지만 답변 부탁드립니다!!

좋은 강의 감사합니다.

 

퀴즈

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

회원 가입 시 화면 입력 데이터를 엔티티 객체 대신 별도의 Form 객체로 받는 주된 이유는 무엇일까요?

데이터베이스 성능을 최적화하기 위해서

화면 종속적인 데이터나 유효성 검증 로직을 분리하기 위해서

JPA 영속성 컨텍스트와 직접적인 관계를 맺기 위해서

코드의 자동 생성 기능을 활용하기 위해서

답변 1

2

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

안녕하세요. kyunmho님

변경 감지는 엔티티 객체 관점에서 보면 원하는 내용만 변경하는 것이 맞습니다.

그런데 기본적으로 변경 감지가 실행하는 SQL은 변경된 엔티티의 모든 내용을 다 SQL에 만들어서 전달합니다.

이때 @DynamicUpdate 옵션이 있으면 변경된 부분만 SQL을 만들어서 전달합니다.

감사합니다.

kyunmho님의 프로필 이미지
kyunmho
질문자

답변 감사합니다!!

kyunmho님의 프로필 이미지
kyunmho

작성한 질문수

질문하기