Atualização parcial com JPA
Para um desenvolvimento web com springboot + Java, é muito comum os desenvolvedores utilizar a interface JpaRepository para a persistência dos dados. Para realizar um "update", usa-se o mesmo método "save()" usado para criar uma nova entidade na respectiva tabela, com a diferença que o objeto a ser atualizado deve ter o identificador. Essa atualização não ocorre de maneira parcial, o que reduz a performance da aplicação. Isso pode ser resolvido com a notação @DynamicUpdate, que deve ser inserida na classe de modelo, junto com a sua respectiva notação @Entity. Quando executamos o método save() nestes casos, o objeto a ser persistido é comparado com o estado atual na respectiva tabela e se for identificado alguma diferença numa coluna, o hibernate executará o seguinte script SQL: update NOME_TABELA set NOME_COLUNA_DIFERENTE where id = ID; O seguinte endereço mostra exemplo e evidências dessa funcionalidade.
@DynamicUpdate com Spring Data JPA
https://www.linkedin.com/pulse/dynamicupdate-com-spring-data-jpa-gilson-silva?utm_source=share&utm_medium=member_android&utm_campaign=share_via