12.7.4. Introduction à l'auditing d'entités

12.7.4.1. Ajouter une support d'auditing à une entité JPA

JBoss EAP 6 utilise l'auditing d'entités, par l'intermédiaire de Section 12.7.1, « Hibernate Envers », pour suivre les changements historiques d'une classe persistante. Cette rubrique couvre l'ajout d'un support d'auditing pour une entité JPA.

Procédure 12.8. Ajouter une support d'auditing à une entité JPA

  1. Configurer les paramètres d'auditing disponible qui conviennent au déploiement : Section 12.7.5.1, « Configurer les paramètres Envers ».
  2. Ouvrir l'entité JPA à auditer.
  3. Importer l'interface org.hibernate.envers.Audited.
  4. Appliquer l'annotation @Audited à chaque champ ou propriété à auditer, ou l'appliquer une seule fois à toute la classe.

    Exemple 12.30. Audit de deux champs

    import org.hibernate.envers.Audited;
    
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Column;
    
    @Entity
    public class Person {
        @Id
        @GeneratedValue
        private int id;
    
        @Audited
        private String name;
    
        private String surname;
    
        @ManyToOne
        @Audited
        private Address address;
    
        // add getters, setters, constructors, equals and hashCode here
    }
    

    Exemple 12.31. Audit d'une classe complète

    import org.hibernate.envers.Audited;
    
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Column;
    
    @Entity
    @Audited
    public class Person {
        @Id
        @GeneratedValue
        private int id;
    
        private String name;
    
        private String surname;
    
        @ManyToOne
        private Address address;
    
        // add getters, setters, constructors, equals and hashCode here
    }
    
Résultat

L'entité JPA a été configurée pour l'auditing. Un tableau intitulé Entity_AUD sera créé pour stocker les changements historiques.