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
