Se cuasi-mapearía a "No persistir el valor en la instancia (copiarlo en otro
lado)", aunque un poco más prolijo :-)

   Diego


2010/4/5 Gustavo Ringel <[email protected]>

> 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
>

-- 
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