m Lotfizad:
¿Cómo puedo registrar los cambios de la entidad en los archivos de registro? Considere que tengo Person
como este.
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;
// add getters, setters, constructors, equals and hashCode here
}
y un código de cambio vigente Person
Person p1 = new Person("name-1", "surname-1");
personRepository.save(p1);
Person p2 = personRepository.findOne(1L);
p2.setName("new-name");
personRepository.save(p2);
¿Cómo puedo tener
- entidad de edad
- nueva entidad
- lista de campos cambiado (algo como Diffable resultado 's)
En mi archivo de registro? Sé que envars pueden almacenar los cambios en db y que me extraerlos después con AuditReader
pero me gusta almacenar los cambios en el archivo JSON para enviarlos a aplicaciones de terceros (como el elástico).
sairamch04:
Se podría escribir un interceptor personalizada mediante la implementación org.hibernate.EmptyInterceptor
. Esto tiene devoluciones de llamada para actualizar / insertar / borrar con viejos y nuevos instantáneas de entidades.
Consulte este artículo para más detalles