Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EclipseLink » Auditar entidad (Cambia en dato en la base de datos pero no en la entidad)
icon5.gif  Auditar entidad [message #807147] Sat, 25 February 2012 21:44 Go to previous message
sperll java is currently offline sperll java
Messages: 1
Registered: February 2012
Junior Member
Hola. No soy muy experto en el tema y no se como realizar lo siguiente. De antemano pido disculpas si no utilizo los terminos adecuados para describir el problema.

En varias entidades tengo fecha y usuario que realizo el ultimo cambio a los datos. para que funcione genericamente cree una clase que se encargue de actualizar estos campos y la llamo en las entidades que necesito de la siguiente forma:

@EntityListeners(AuditListener.class)

La clase de auditoria es la siguiente:

public class AuditListener extends DescriptorEventAdapter implements SessionCustomizer, DescriptorCustomizer {
@SuppressWarnings("rawtypes")
public static ThreadLocal currentUser = new ThreadLocal();

/** This will audit a specific class. */
public void customize(ClassDescriptor descriptor) {
descriptor.getEventManager().addListener(this);
}

/** This will audit all classes. */
public void customize(Session session) {
for (ClassDescriptor descriptor : session.getDescriptors().values()) {
customize(descriptor);
}
}

public void aboutToUpdate(DescriptorEvent event) {
for (String table : (List<String>)event.getDescriptor().getTableNames()) {
event.getRecord().put(table + ".actualizadopor", (String) "oscar");
//event.getRecord().put(table + ".fechaactualizacion", Calendar.getInstance());
event.updateAttributeWithObject("fechaactualizacion", new Date());

System.out.println("table: " + table );

System.out.println("updtae" + (String)AuditListener.currentUser.get() );
}
}


}

esta actualiza la informacion sin problema en la base de datos, pero en la entidad no cambia la información. alguien sabe como puedo refrescar el dato en la entidad?

Gracias.
 
Read Message icon5.gif
Read Message
Previous Topic:No persistence provider
Next Topic:NPE in remote session
Goto Forum:
  


Current Time: Tue May 21 15:50:26 EDT 2013

Powered by FUDForum. Page generated in 0.01612 seconds