se me ocurre mas facil usar access=field para ese campo (no se si mapea a
alguna de las tres opciones que diste Diego, asi que perdon si no te
entendi)

en ese caso accedeas a CadenaConexion por la propiedad que devuelve el
Decrypt, pero lo que mapeas es el field que no lo tocas y entonces no se
detecta como dirty.

Gustavo.

2010/4/5 Diego Mijelshon <[email protected]>

> Sí, ese es el comportamiento esperado.
> Si modificás cualquier propiedad persistente de una instancia persitente,
> al hacer commit (en realidad, al hacer flush, pero por default el commit lo
> hace) se realiza el update correspondiente.
> Tenés varias opciones, entre ellas:
>
>    - Utilizar una propiedad no persistente (lease, no mapeada) para
>    guardar el valor desencriptado
>    - No persistir el valor en la instancia (copiarlo en otro lado)
>    - Usar un UserType que encripte y desencripte en forma transparente el
>    persistir y recuperar el objeto
>
>
>    Diego
>
>
> 2010/4/5 J. Roberto Ramírez <[email protected]>
>
> Buenos días,
>>
>> Ya creo haber leido sobre esto que voy a comentar, pero quiero
>> confirmarlo...
>>
>> *session-per-request*
>>
>> Al inicio del request abro una nueva sesión y creo una nueva transacción,
>> además en mi servicio hago lo siguiente:
>>
>> var session = GetCurrentSession() {
>> var cliente = session.Get<Cliente>(id);
>> //El cliente dentro de el tiene una propiedad que algun servicio lo
>> encripto y lo guardó en la base de datos.
>> //Desencriptamos la propiedad para trabajar con ella.
>> cliente.CadenaConexion = Decrypt(cliente.CadenaConexion);
>> ...
>>
>> Al finalizar el request cierro la sesión, hago commit de la transacción y
>> unbind.
>>
>> Para mi sorpresa al finalizar el request, NH me hizo un update a la Base
>> de Datos actualizando el valor de CadenaConexion.
>>
>> Este comportamiento es normal? existe manera de manejarlo?
>>
>> Gracias por la ayuda.
>>
>>
>> --
>> J. Roberto Ramírez
>> http://twitter.com/bobbher
>>
>> --
>> 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

To unsubscribe, reply using "remove me" as the subject.

Responder a