Update Eterno

Olá Pessoa,

Estou trabalhando com JPA + Hibernate e o Jackson para serializar e deserializar objetos JSON, bom quase tudo funciona… com exceção que o hibernate fica fazendo UPDATE sempre que eu faço um merge, ou seja, se eu não fiz nenhuma alteração no registro ele deveria apenas fazer um select de verificação e mais nada, concordam?

Se eu instancio um objeto preencho os atributos e mando fazer o merge ele se comporta perfeito, mas quando eu recebo um objeto em JSON deserializado, ele faz o update sempre… mesmo sem alterar nada, alguém já passou por isso?

Abs.

O que diz que ele deveria apenas fazer um select quando você dá um merge sem alteração?

Quando o ID do registro já existe ele faz um SELECT para comparar o objeto e saber se ele precisa fazer o UPDATE ou não, sacou?

O problema é que ele faz o SELECT e faz o UPDATE sempre, como se o registro tivesse sido alterado (mas não foi).

Sim, eu sei. Mas aonde você viu que esse não é o comportamento especificado?

Tente usar a anotação de dynamicUpdate e teste

@org.hibernate.annotations.Entity(dynamicUpdate=true)

Ola duardor…

Cara, vc foi mais do que preciso… foi objetivo!!! Com poucas palavras e acertou na mosca!
Com essa dica, consegui ver o campo que estava gerando o update e tomar ação.

Muitos obrigado mesmo!!!