1.5.4. Getting Started with Entity Auditing
1.5.4.1. Add Auditing Support to a JPA Entity
- Task Summary
- This topic covers adding auditing support for a JPA entity.
Procedure 1.1. Add Auditing Support to a JPA Entity
- Configure the available auditing parameters to suit the deployment (refer to Section 1.5.5.1, “Configure Envers Parameters”)
- Open the JPA entity to be audited.
- Import the
org.hibernate.envers.Audited
interface. - Apply the
@Audited
annotation to each field or property to be audited, or apply it once to the whole class.Example 1.1. Audit Two Fields
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 }
Example 1.2. Audit an entire Class
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 }
- Result
- The JPA entity has been configured for auditing. A table called
Entity_AUD
will be created to store the historical changes.