just java 2011 castro hibernate envers

Upload: tobydf

Post on 07-Jul-2015

163 views

Category:

Documents


0 download

TRANSCRIPT

Hibernate EnversEasy Entity Auditing

Auditando suas classes de persistncia com Hibernate Envers

Castro (@CastroAlexandre) Consultor (Summa) e Instrutor (Globalcode) SCJP, SCWCD, SCBCD, SCEA-I, SCSNI

Motivao Rastrear o histrico de mudanas de entidades para saber quem, quando e o que foi alterado.OK, EXIJO O DIREITO DE ALEGAR INSANIDADE.

TEMOS PROVAS DE QUE VOC ALTEROU O SISTEMA ONTEM.

Hibernate Envers API para auditar classes de persistncia Baseado no conceito de revises similiar ao Subversion Cada transao gera uma reviso

3.5

...

...

...

...

ENVERS

Configurao Configure os event listeners do Hibernate Envers no persistence.xml Anote as classes ou os atributos da classe com @Audited

Configurao no persistence.xml

Configurao na classe@Entity @Audited public class City { @Id @GeneratedValue private int id; private String name; @ManyToOne private State state;// CONSTRUCTORS // GETTERS AND SETTERS // ETC...

@Entity public class City { @Id @GeneratedValue private int id; @Audited private String name; @Audited @ManyToOne private State state;// CONSTRUCTORS // GETTERS AND SETTERS // ETC...

} }

As tabelas City_AUD e State_AUD sero criadas automaticamente para armazenar o histrico de mudanas das entidades City e State respectivamente.

Configurao na classe O nome da tabela que guarda o histrico de mudanas pode ser alterado com o uso da anotao @AuditTable@Entity @Audited @AuditTable( "TB_City_AUDIT" ) public class City { @Id @GeneratedValue private int id; private String name; @ManyToOne private State state; // CONSTRUCTORS // GETTERS AND SETTERS // ETC... }