Ten en cuenta el contexto transaccional.  Puede que un cambio ocurra pero si
no se hace commit entonces puede que estes guardando informacion invalida.
 Entonces puedes hacer que el log este en el mismo contexto de transaccion
con tus cambios de negocio (con el riezgo de que si tu log falla entonces tu
negocio tambien) o mantener sincronizadas la transaccion del log con tu tx
de negocio (i.e. observandola).

Saludos,
Nestor Andres Rodriguez

2011/9/25 Germán Schuager <[email protected]>

> Gracias por la idea Dario.
> Igualmente, si entiendo bien, tanto lo que vos proponés con los triggers
> como la solución de NH.Envers están más apuntadas a mantener el estado total
> de una entidad en un momento dado y lo que yo estoy buscando es algo más
> parecido a un changelog, en principio no necesito volver para atrás sino
> solamente saber que cambió.
> Sigo investigando y cualquier cosa te aviso.
>
> 2011/9/23 Dario Quintana <[email protected]>
>
>> También podrían ser por medio de triggers. Tomás un generador de código,
>> seleccionás las tablas en cuestión y que genere los triggers necesarios para
>> UPDATE, INSERT Y DELETE. Tu aplicación no se entera. A parte de los
>> triggers, también generaría las tablas necesarias para guardar esto, que
>> serían similares a las tablas auditadas + información de la auditoria
>> (fecha, usuario, si fue una baja, alta o modificación).
>>
>> Si te interesa, avisame y te doy una mano.
>>
>>
>> 2011/9/22 Germán Schuager <[email protected]>
>>
>>> Buenas, les quería hacer una consulta sobre un requerimiento que me
>>> surgió en una aplicación que tengo funcionando.
>>> El cliente desea que se registren todos los cambios que se producen sobre
>>> ciertas entidades; algo parecido a lo que hacen los issue tracker, en los
>>> que uno puede ver toda la historia de cambios de un ticket.
>>> Mi primer idea fue intentar solucionar esto tocando lo menos posible de
>>> mi dominio, y para eso estoy viendo donde me puedo enganchar en NHibernate
>>> para detectar y registrar estos cambios... por ahora no estoy encontrando
>>> nada; empecé mirando IPreUpdateEventListener pero la propiedad OldState de
>>> @event me llega en null (debería tener el estado anterior, no?).
>>> A alguien se le ocurre alguna forma relativamente genérica de implementar
>>> este requerimiento?
>>> Desde ya, muchas gracias.
>>>
>>> --
>>> Para escribir al Grupo, hágalo a esta dirección:
>>> [email protected]
>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>>
>>
>>
>>
>> --
>> Dario Quintana
>>
>> --
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>
>
>  --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a