Motivação

Em aplicações dos mais diversos tamanhos, a necessidade de rastrear as ações realizadas por um usuário frente às várias funcionalidades existentes é algo comum. Nesses cenários, resguardar a integridade das informações administradas pela aplicação, bem como prover o controle sobre seu uso é algo de extrema valia.

Técnicas clássicas, como a utilização de triggers e stored procedures, acabam criando um grande acoplamento com o banco de dados. Para evitar essa dependência, o ideal é que as ações de auditoria sejam realizadas pela aplicação. Como atualmente grande parte dos projetos Java utilizam frameworks ORM para a camada de persistência, sendo o principal deles o Hibernate, surgiu o subprojeto Envers, um módulo do Hibernate que é capaz de gerir todas as modificações realizadas nas entidades e refleti-las no banco de dados de forma simples.

Nesse artigo veremos como utilizar o Hibernate Envers na construção de um cadastro de funcionários, verificando como ele realiza a auditoria das ações.

Desenvolvendo o cadastro

Nesse exemplo utilizaremos o banco de dados MySQL 5.7.17, assim como o IDE NetBeans 8.2 para criar uma aplicação desktop que conterá apenas uma entidade, Funcionario, com os seguintes atributos: ...

Quer ler esse conteúdo completo? Tenha acesso completo