Sip, ese recurso ya lo tenia. Saludos.
-- J. Roberto Ramírez 2010/4/5 José F. Romaniello <[email protected]> > no tiene nada que ver, get trae los datos de la bd, mientras que load lo > hace lazy. Esta es una de las cosas mas importantes de NHibernate, te > recomiendo que leas esto: > > > http://ayende.com/Blog/archive/2009/04/30/nhibernate-ndash-the-difference-between-get-load-and-querying-by.aspx > > El 5 de abril de 2010 15:07, J. Roberto Ramírez > <[email protected]>escribió: > > Muchas gracias a ambos, >> >> Si habia leido que el Commit hace flush en auto y por eso lo veia >> lógico... yo tenias dudas si el problema radicaba en como estaba cargando mi >> objeto persistente, si hacerlo con Get o Load, pero ya ví que no tiene nada >> que ver (eso espero). >> >> Saludos. >> >> >> -- >> J. Roberto Ramírez >> http://twitter.com/bobbher >> >> 2010/4/5 Diego Mijelshon <[email protected]> >> >>> 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 >>> >> >> -- >> 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.
