Bruno Reato | 1 Aug 01:33
Picon

Lazy load remoto

Antes que nada quiero aclarar que recién estoy comenzando con nhibernate y estoy haciendo pruebas sobre su funcionamiento.  En una de estas pruebas, intenté generar una aplicación winforms que se conecta a un servicio que contiene un objeto .net remoting que es el encargado de la persistencia de mis entidades. El problema surge cuando intento acceder a una entidad de una relación lazy desde la aplicación winform, ya sé que tiene que estar abierta la sesion para obtener las entidades "lazy" pero, ¿como hago si ya cerré la sesión y además estoy accediendo a la entidad desde otro proceso, más aún desde otra PC? ¿Existe alguna manera ó tengo que obtener las entidades a través de un objeto Criteria para cambiar el FetchType? ¿Cómo es la forma más elegante de realizar esta tarea?

Bueno, espero que me puedan ayudar.

Gracias

Bruno.

--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

José Romaniello | 1 Aug 02:55
Picon
Gravatar

Re: Lazy load remoto

Me parece importante aclarar antes de responder que a mi no me parece un buen punto para comenzar con nhibernate. 

La respuesta es que hay muchos caminos:
1-Data transfer object (DTO) para comunicarse.
2-"Inicializar" la referencia antes de enviar.
3-Usando una pisca de esto, una pisca de aquello y una pisca de algún fw que te permita generar "proxies" dinamicamente en el cliente se puede hacer algo como esto. Implemente algo similar para wpf, con la ayuda de Gustavo Ringel y Fabio Maulo en unhaddins actualmente esta aca (no es muy usable hasta el momento, mas que nada es una prueba de concepto).

Da la casualidad que hoy estuve conversando con Jorge Gamba y tal vez mañana se pueda hablar algo del tema en la VAN de altnet hispano, aunque no es el propósito de esta reunión.

Saludos. 

El 31 de julio de 2009 20:33, Bruno Reato <breato <at> gmail.com> escribió:
Antes que nada quiero aclarar que recién estoy comenzando con nhibernate y estoy haciendo pruebas sobre su funcionamiento.  En una de estas pruebas, intenté generar una aplicación winforms que se conecta a un servicio que contiene un objeto .net remoting que es el encargado de la persistencia de mis entidades. El problema surge cuando intento acceder a una entidad de una relación lazy desde la aplicación winform, ya sé que tiene que estar abierta la sesion para obtener las entidades "lazy" pero, ¿como hago si ya cerré la sesión y además estoy accediendo a la entidad desde otro proceso, más aún desde otra PC? ¿Existe alguna manera ó tengo que obtener las entidades a través de un objeto Criteria para cambiar el FetchType? ¿Cómo es la forma más elegante de realizar esta tarea?

Bueno, espero que me puedan ayudar.

Gracias

Bruno.




--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Raul Carlomagno | 6 Aug 19:14
Picon

Cascade AllDeleteOrphan


nhibernate esta haciendo algo, y queria saber si se podria mejorar,
creo que si, detalle, aclaro que estoy usando AR, pero en realidad es
por ahora

el dominio simplificado es el siguiente:
endoso (Nro, Fecha)
poliza (un par de fechas, activa, endosoactual, todos sus endosos)

            Endoso endosoCero = new Endoso();
            endosoCero.Numero = 0;
            endosoCero.FechaSolicitud = DateTime.Now;

            Endoso endosoUno = new Endoso();
            endosoUno.Numero = 1;
            endosoUno.FechaSolicitud = DateTime.Now.AddMonths(1);

            Poliza poliza = new Poliza();
            poliza.Activa = true;
            poliza.VigenciaDesde = new DateTime(2009, 08, 07);
            poliza.VigenciaHasta = new DateTime(2009, 12, 07);
            poliza.Endosos.Add(endosoCero);
            poliza.Endosos.Add(endosoUno);
            poliza.EndosoActual = endosoUno;

la lista de endosos esta en cascada con AllDeleteOrphan, los poid son
hilo
cuando hago el save de poliza, veo las siguientes consultas:

NHibernate: INSERT INTO poliza (VigenciaDesde, VigenciaHasta, Activa,
endoso_id, Id) VALUES (@p0, @p1, @p2, @p3, @p4);@p0 = 07/08/2009
00:00:00, @p1 = 07/12/2009 00:00:00, @p2 = True, @p3 = NULL, @p4 =
32768
NHibernate: INSERT INTO endoso (Numero, FechaSolicitud, Id) VALUES
(@p0, @p1, @p2);@p0 = 0, @p1 = 06/08/2009 14:08:10, @p2 = 65536
NHibernate: INSERT INTO endoso (Numero, FechaSolicitud, Id) VALUES
(@p0, @p1, @p2);@p0 = 1, @p1 = 06/09/2009 14:08:10, @p2 = 65537
NHibernate: UPDATE poliza SET VigenciaDesde = @p0, VigenciaHasta =
@p1, Activa = @p2, endoso_id = @p3 WHERE Id = @p4;@p0 = 07/08/2009
00:00:00, @p1 = 07/12/2009 00:00:00, @p2 = True, @p3 = 65537, @p4 =
32768
NHibernate: UPDATE endoso SET poliza_id = @p0 WHERE Id = @p1;@p0 =
32768, @p1 = 65536
NHibernate: UPDATE endoso SET poliza_id = @p0 WHERE Id = @p1;@p0 =
32768, @p1 = 65537

porque hace los 3 insert y despues los 3 update, si ya tiene todos los
datos, porque no hace todo en 3 inserts directamente?

muchas gracias!
--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Raul Carlomagno | 6 Aug 19:37
Picon

Re: Cascade AllDeleteOrphan


probe con inverse = true

pero me hace lo siguienet

NHibernate: INSERT INTO poliza (VigenciaDesde, VigenciaHasta, Activa,
endoso_id, Id) VALUES (@p0, @p1, @p2, @p3, @p4);@p0 = 07/08/2009
00:00:00, @p1 = 07/12/2009 00:00:00, @p2 = True, @p3 = NULL, @p4 =
32768
NHibernate: INSERT INTO endoso (Numero, FechaSolicitud, Id) VALUES
(@p0, @p1, @p2);@p0 = 0, @p1 = 06/08/2009 14:34:15, @p2 = 65536
NHibernate: INSERT INTO endoso (Numero, FechaSolicitud, Id) VALUES
(@p0, @p1, @p2);@p0 = 1, @p1 = 06/09/2009 14:34:15, @p2 = 65537
NHibernate: UPDATE poliza SET VigenciaDesde = @p0, VigenciaHasta =
@p1, Activa = @p2, endoso_id = @p3 WHERE Id = @p4;@p0 = 07/08/2009
00:00:00, @p1 = 07/12/2009 00:00:00, @p2 = True, @p3 = 65537, @p4 =
32768

ahi para que va, pero no me llena el atributo poliza_id en endoso

On 6 ago, 14:14, Raul Carlomagno <rcarloma...@gmail.com> wrote:
> nhibernate esta haciendo algo, y queria saber si se podria mejorar,
> creo que si, detalle, aclaro que estoy usando AR, pero en realidad es
> por ahora
>
> el dominio simplificado es el siguiente:
> endoso (Nro, Fecha)
> poliza (un par de fechas, activa, endosoactual, todos sus endosos)
>
>             Endoso endosoCero = new Endoso();
>             endosoCero.Numero = 0;
>             endosoCero.FechaSolicitud = DateTime.Now;
>
>             Endoso endosoUno = new Endoso();
>             endosoUno.Numero = 1;
>             endosoUno.FechaSolicitud = DateTime.Now.AddMonths(1);
>
>             Poliza poliza = new Poliza();
>             poliza.Activa = true;
>             poliza.VigenciaDesde = new DateTime(2009, 08, 07);
>             poliza.VigenciaHasta = new DateTime(2009, 12, 07);
>             poliza.Endosos.Add(endosoCero);
>             poliza.Endosos.Add(endosoUno);
>             poliza.EndosoActual = endosoUno;
>
> la lista de endosos esta en cascada con AllDeleteOrphan, los poid son
> hilo
> cuando hago el save de poliza, veo las siguientes consultas:
>
> NHibernate: INSERT INTO poliza (VigenciaDesde, VigenciaHasta, Activa,
> endoso_id, Id) VALUES (@p0, @p1, @p2, @p3, @p4);@p0 = 07/08/2009
> 00:00:00, @p1 = 07/12/2009 00:00:00, @p2 = True, @p3 = NULL, @p4 =
> 32768
> NHibernate: INSERT INTO endoso (Numero, FechaSolicitud, Id) VALUES
> (@p0, @p1, @p2);@p0 = 0, @p1 = 06/08/2009 14:08:10, @p2 = 65536
> NHibernate: INSERT INTO endoso (Numero, FechaSolicitud, Id) VALUES
> (@p0, @p1, @p2);@p0 = 1, @p1 = 06/09/2009 14:08:10, @p2 = 65537
> NHibernate: UPDATE poliza SET VigenciaDesde = @p0, VigenciaHasta =
> @p1, Activa = @p2, endoso_id = @p3 WHERE Id = @p4;@p0 = 07/08/2009
> 00:00:00, @p1 = 07/12/2009 00:00:00, @p2 = True, @p3 = 65537, @p4 =
> 32768
> NHibernate: UPDATE endoso SET poliza_id = @p0 WHERE Id = @p1;@p0 =
> 32768, @p1 = 65536
> NHibernate: UPDATE endoso SET poliza_id = @p0 WHERE Id = @p1;@p0 =
> 32768, @p1 = 65537
>
> porque hace los 3 insert y despues los 3 update, si ya tiene todos los
> datos, porque no hace todo en 3 inserts directamente?
>
> muchas gracias!
--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

manglio | 6 Aug 18:30
Picon

nhibernate en visual studio 2005


buen dia
soy nuevo en nhibernate
y estoy teniendo problemas para arrancar nhibernate en ambiente visual
studio 2005

me podrian decir donde deberia colocar las clases generadas
xmls y demas objetos en  visual studio????

la aplicacion que tenemos trabaja en vb

saludos

--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

jmixael | 7 Aug 18:17
Picon

Doble Relacion


Hola Compañeros,

Estoy teniendo un problema al trabajar con Nhibernate, tengo que hacer
una relacion de la siguiente manera,
Tengo una tabla Empleados, una Proyectos y una EmpleadosPorProyectos
(osea un empleado puede tener muchos proyectos y un proyecto puede
tener muchos empleados) en un momento inicial solo trabaje asi y los
mapeos y todo funcionaba bien; pero mas adelante me pidiero que
añadiera un jefe de proyecto en la tabla proyecto osea proyectos
tendria una relacion directa con empleados y seria que un empleado
puede poseer muchos proyectos supervisados y un proyecto un solo jefe
de proyectos. Ahora he probado realizarlo con un References pero no
funciona tambien con hasOne y no. La verdad soy bastante nuevo en esto
y no se me ocurre como deberia hacer el mapeo, que tendrian que estar
ambos tanto en EmpleadosPorProyectos y lo de Jefe De Proyecto.
Estoy trabajando con SQL2005 y estoy trabajando con SharpArchitecture.
Gracias de Ante mano!

--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Fabio Maulo | 8 Aug 07:56
Picon
Gravatar

Re: Doble Relacion

Mañana lo leo bien... lo que me causó curiosidad fue el titulo.

El 7 de agosto de 2009 13:17, jmixael <jmnievesc <at> gmail.com> escribió:

Hola Compañeros,

Estoy teniendo un problema al trabajar con Nhibernate, tengo que hacer
una relacion de la siguiente manera,
Tengo una tabla Empleados, una Proyectos y una EmpleadosPorProyectos
(osea un empleado puede tener muchos proyectos y un proyecto puede
tener muchos empleados) en un momento inicial solo trabaje asi y los
mapeos y todo funcionaba bien; pero mas adelante me pidiero que
añadiera un jefe de proyecto en la tabla proyecto osea proyectos
tendria una relacion directa con empleados y seria que un empleado
puede poseer muchos proyectos supervisados y un proyecto un solo jefe
de proyectos. Ahora he probado realizarlo con un References pero no
funciona tambien con hasOne y no. La verdad soy bastante nuevo en esto
y no se me ocurre como deberia hacer el mapeo, que tendrian que estar
ambos tanto en EmpleadosPorProyectos y lo de Jefe De Proyecto.
Estoy trabajando con SQL2005 y estoy trabajando con SharpArchitecture.
Gracias de Ante mano!





--
Fabio Maulo

--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Fabio Maulo | 8 Aug 14:48
Picon
Gravatar

Re: nhibernate en visual studio 2005

generadas????

El 6 de agosto de 2009 13:30, manglio <manglio <at> gmail.com> escribió:

buen dia
soy nuevo en nhibernate
y estoy teniendo problemas para arrancar nhibernate en ambiente visual
studio 2005

me podrian decir donde deberia colocar las clases generadas
xmls y demas objetos en  visual studio????

la aplicacion que tenemos trabaja en vb

saludos





--
Fabio Maulo

--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Raul Carlomagno | 8 Aug 23:14
Picon

duda sobre hilo


buenas, tengo una duda sobre hilo pero no termino de terminar de
entender, hay posibilidad de quedarme sin id en algun momento? porque
vi que el registro que se lee y se incrementa es el mismo para todas
las tablas, tambien vi el parametro max_lo para no desaprovechar
tantos los id ya que por defecto aumenta cada 32768
talvez estoy diciendo tonterias porque no entiendo bien el algoritmo

muchas gracias
--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Fabio Maulo | 8 Aug 23:17
Picon
Gravatar

Re: duda sobre hilo

Bajate lo que está en el link de este post

leelo

Y despues de leerlo fijate este otro post
http://fabiomaulo.blogspot.com/2009/06/typedef-for-generators.html


El 8 de agosto de 2009 18:14, Raul Carlomagno <rcarlomagno <at> gmail.com> escribió:

buenas, tengo una duda sobre hilo pero no termino de terminar de
entender, hay posibilidad de quedarme sin id en algun momento? porque
vi que el registro que se lee y se incrementa es el mismo para todas
las tablas, tambien vi el parametro max_lo para no desaprovechar
tantos los id ya que por defecto aumenta cada 32768
talvez estoy diciendo tonterias porque no entiendo bien el algoritmo

muchas gracias




--
Fabio Maulo

--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano <at> googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---


Gmane