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

dreamjr님의 프로필 이미지

작성한 질문수

스프링 데이터 JPA

스프링 데이터 JPA 6. Update 쿼리

entity 중 null이 아닌 필드만 update 할 방법이 있을까요?

22.01.24 18:39 작성

·

914

0

안녕하세요, 강의 덕분에 너무 큰 도움이 되었습니다.
감사합니다. :)
 
Repository의 save() 메소드를 실행하던지, @Query를 사용하던지 해서 update 문을 실행할 경우, null이 아닌 필드만 업데이트하는 방법이 있을지요?
 
예를 들면 Post 라는 entity에 id, name, email, description 필드가 있을 경우, name 만 값이 있고 나머지는 null인 경우 name만 update 하고 싶다면 어떻게 하면 될까요?
 
추가 select 없이 하는 방법이 있을지 여쭤봅니다.
 
다시 한 번 감사 드립니다. :)

답변 1

0

백기선님의 프로필 이미지
백기선
지식공유자

2022. 01. 25. 12:12

@Query를 사용해서는 어려울 것 같고, 동적인 쿼리를 작성해야 하는데요. 원본 데이터를 확인하고 그 중에서 null이 아닌 것만 업데이트는 하는 쿼리를 런타임 중에 동적으로 생성하려면 Criteria나, JPQL (또는 QueryDSL을 이용해서)을 사용해서 쿼리를 만들어낸 다음에 실행하도록 해야 할 것 같습니다.

dreamjr님의 프로필 이미지

작성한 질문수

질문하기