[Resolvido] Auditoria com Envers

3 respostas
Quindin

Bom dia galera

estou implementando auditoria e usando o Envers que está no pacote do Hibernate.

gostaria de saber se tem como ser gravado somente o campo que foi alterado e não todos os campos auditaveis.

Exemplo:

Tenho uma tabela CLIENTE com campos NOME SENHA SEXO.
Faço alteração em sua senha e na tabela de auditoria/revisão todos os campos são gravados. Gostaria que somente o campo SENHA fosse gravado como uma revisão.
Temo o crescimento do banco, pois as tabelas são grandes e contém muitos dados e quase todos os campos precisam ser auditados.

Agradeço qualquer ajuda :slight_smile:

3 Respostas

rimolive

Como está anotada a sua Entidade? Pelo que entendi na documentação, para este nível de auditoria você deve usar @Audited em nível de propriedade e usar as Flags de Modificação:

http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch15.html#envers-tracking-properties-changes

Ataxexe

Acredito que o que ele esteja querendo é, dado que todos os campos devam ser auditados, somente aqueles em que realmente houve mudança sejam gravados nas tabelas do Envers. (Quando o usuário apenas mudar a senha, por exemplo.)

Eu não sei se isso é possível, pois, pelo que eu entendi, o Envers funciona como se fosse um snapshot da entidade (tanto que você faz a query na mesma entidade, mas só recebe os campos auditados). Acredito que deveria ficar mais complexo pra montar a entidade porque ele deveria fazer muitas queries, mas isso acaba sendo uma balança. (Você pode preferir fazer mais queries a gravar mais dados.)

Também fiquei curioso pra saber se isso é possível.

Quindin

Ataxexe:
Acredito que o que ele esteja querendo é, dado que todos os campos devam ser auditados, somente aqueles em que realmente houve mudança sejam gravados nas tabelas do Envers. (Quando o usuário apenas mudar a senha, por exemplo.)

Eu não sei se isso é possível, pois, pelo que eu entendi, o Envers funciona como se fosse um snapshot da entidade (tanto que você faz a query na mesma entidade, mas só recebe os campos auditados). Acredito que deveria ficar mais complexo pra montar a entidade porque ele deveria fazer muitas queries, mas isso acaba sendo uma balança. (Você pode preferir fazer mais queries a gravar mais dados.)

Também fiquei curioso pra saber se isso é possível.

É isso mesmo caras!

Pois é pesquisei mais a fundo, e é uma solução escrota kkk
Não queria que o banco crescesse tanto…

Mas é isso ai… Vlw galera :slight_smile:

Criado 12 de setembro de 2012
Ultima resposta 12 de set. de 2012
Respostas 3
Participantes 3