registro de auditoría de hibernación de los campos de los cambios

m Lotfizad:

¿Cómo puedo registrar los cambios de la entidad en los archivos de registro? Considere que tengo Personcomo 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 AuditReaderpero 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

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=216673&siteId=1
Recomendado
Clasificación