@DynamicUpdate
Certa vez, me despertou uma curiosidade, no trabalho, de como fazer um update de uma entidade em Java, usando a interface JpaRepository, de forma parcial, ou seja, um PATCH do protocolo Http. Foi então que na internet encontrei essa notação @DynamicUpdate. A mesma deve ser inserida nas classes Entidade e
uma vez feito isso, desde que a classe entidade tenha um atributo identificador e chave primária, quando executar o método save() do JpaRepository, se houve alguma coluna alterada, primeiro é feita uma comparação com o estado atual na tabela para identificar essa alteração para depois fazer o "update" parcial. Se não houve nenhuma alteração, o repository simplesmente ignora e não é feito nem update de todos os campos e nem "create" de um novo registro. A página a seguir explica tudo com mais detalhes, com exemplos práticos e evidências no console durante a execução dos testes.
https://www.linkedin.com/pulse/dynamicupdate-com-spring-data-jpa-gilson-silva/?originalSubdomain=pt