Hola Nelo,

Si, pero es posible que necesite el objeto muchas veces (muchos gets) y
solo un merge al final del proceso. Por eso fui cauto.

Aun asi, para mi es imprescindible justificar con mediciones toda
optimizacion de performace, sobre todo una de este tipo.

----------------------------------
Carlos Peix

2012/9/19 [email protected] <[email protected]>

> Carlos, siempre oportunas tus preguntas.
>
> Esperemos las mediciones de Jose, pero hasta donde yo recuerdo el
> Merge vuelve a levantar el objeto de la base de datos e intenta
> combinar los valores de las propiedades, acción que es necesaria si
> uno modifica los objetos que están desconectados.
>
> Si es por motivos de solo lectura (como para armar un árbol), no tiene
> sentido el Merge y quizás tampoco quedarse con todo el objeto de
> dominio en session. En este caso creo que sería mejor armar un
> servicio que tenga una cache para que cuando no lo encuentre se lo
> pida a nh y guardar DTOs con la información que necesitamos del
> objeto, una implementación de es cache sería en session de asp.net.
>
> saludos.
> nelo
>
> 2012/9/19 Carlos Peix <[email protected]>:
> > Hola Jose,
> >
> > Mencionas razones de performance que te llevan a guardar el objeto en
> > variable de sesion el lugar del Id. Que tipo de problemas tienes al
> > recuperar un objeto por Id? has hecho mediciones comparando esa operacion
> > con el merge? que tipo de cifras te dan esas mediciones?
> >
> > Pregunto esto porque me extraña que tengas estos problemas, pero
> reconozco
> > que no se los detalles de tu caso.
> >
> > ----------------------------------
> > Carlos Peix
> >
> > 2012/9/18 José Juniors Rocaspana <[email protected]>
> >>
> >> Buen día a todos, estamos teniendo problemas al intentar recuperar un
> set
> >> de 3er orden en lazy load luego de haber quitado y vuelto a agregar la
> >> sesión de NH del objeto padre.
> >> Ejemplifico para mejor comprensión:
> >> - Objecto A y Objecto B son entidades de nuestra DB.
> >> - Objecto A tiene una many-to-one a Objecto B.
> >> - Objecto B tiene un set de Objectos C en lazy.
> >>
> >> Por cuestiones de performance estamos guardando a Objecto A en una
> >> variable de sesión web, y al momento de reutilizarla la volvemos a
> meter en
> >> la sesión de NH actual mediante Merge(). Luego del Merge(), podemos
> acceder
> >> a todas las propiedades de Objeto A y B pero no a los sets mapeados en
> B. Es
> >> muy raro porque sin hacer el Merge() el código explota ni bien queremos
> >> acceder a cualquier propiedad de la entidad siendo no necesariamente una
> >> colección.
> >>
> >> Si en lugar de hacer un Merge() hago un Get() del objeto A (lo vuelvo a
> >> buscar a la BD), todo funciona de 1000 maravillas.. Alguien puede
> decirme
> >> dónde le estamos errando? O arrojar un poco de luz sobre mi camino?
> >>
> >> Muchas gracias por leer! Saludos!
> >>
> >> --
> >> 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

Responder a