Eduardo Murakoshi
Eduardo Murakoshi15/11/2023 17:45
Compartilhe

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

    Compartilhe
    Comentários (1)
    Karen Ribeiro
    Karen Ribeiro - 23/11/2023 11:04

    Legal, Eduardo!! não sabia dessa...

    sabe dizer se é só com o método save? teria o mesmo efeito em métodos não padrão do JPA?