강의

멘토링

커뮤니티

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

kyunmho님의 프로필 이미지
kyunmho

작성한 질문수

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

변경 감지와 병합(merge)

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

작성

·

308

0

안녕하세요 강사님.

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

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

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

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

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

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

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

좋은 강의 감사합니다.

 

답변 1

2

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

안녕하세요. kyunmho님

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

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

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

감사합니다.

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

답변 감사합니다!!

kyunmho님의 프로필 이미지
kyunmho

작성한 질문수

질문하기