• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

22.01.24 18:39 작성 조회수 739

0

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

답변 1

답변을 작성해보세요.

0

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