Estoy seguro 100% que el texto del mensaje no es solo "could not
initialize a collection"...
pero bueno, ya resolviste y espero que no tengas otro caso para resolver por
con esos jueguitos que haces (me refiero con lo que hiciste acá en los
mails) será dificil ayudarte.

2010/9/28 Erika Fernández <[email protected]>

> Ya no tengo la excepcion( por suerte), la inner exception, es un error
> de oracle: ora-01722: invalid number\n.
>
> Saludos!
>
> On 28 sep, 09:10, Fabio Maulo <[email protected]> wrote:
> > Cual era el mensaje completo de la exception ?
> >
> > 2010/9/28 Erika Fernández <[email protected]>
> >
> >
> >
> >
> >
> > > Muchas gracias Fabio y Charlie.
> >
> > > Con respecto a la session decia que no me parecia probable esa opcion,
> > > porque no salia del contexto de la sesion.
> > > Con respecto a la excepcion, por mi poca experiencia con NHibernate
> > > cuando me lanza la excepcion: "could not initialize
> > > a collection" es porque tengo un error de sintaxis en los mapeos
> > > (algun error en el tipo de dato, en el nombre del objeto, o en el
> > > nombre de la columna por ejemplo). En este caso ese era el error.
> >
> > > Me ayudo mucho tu explicación para buscar por ese lado Charlie.
> > > Gracias.
> > > Saludos!
> >
> > > On 27 sep, 16:07, Charlie <[email protected]> wrote:
> > > > Hola Erika
> >
> > > > El problema tal vez sea de un poco de óptica en como trabaja
> NHibernate
> >
> > > > Mira cuando recuperas una entidad y estas trabajando dentro un
> contexto
> > > > donde la session esta disponible
> >
> > > > (y tienes configurado tu entidad lazy = true)
> >
> > > > Al hacer algo como persona.empleados.count  te devuelve 0 si no
> > > > tiene ningún u el numero de entidades en la colección esto lo hace
> > > > transparente por que trabaja sobre demanda o sea al necesitar saber
> > > cuando
> > > > objetos hay en la colección empleado el framework automáticamente va
> > > hacia
> > > > el repo (luego a donde este persistido)  y las trae para hacer la
> > > operación
> > > > que tu requieres
> >
> > > > Por otro lado si recuperas la entidad y al siguiente paso no estas en
> el
> > > > contexto de la session entonces te tira el error que nos indicas
> >
> > > > El 27 de septiembre de 2010 13:30, Fabio Maulo <[email protected]
> > > >escribió:
> >
> > > > > Erika,
> > > > > Si yo lograra entender lo que estas leyendo solo con
> > > > > IList listaPersonas = q.List();
> > > > > me dedicaría a otro laburo y seguro tendría un fangote de guita.
> >
> > > > > Para que entiendas, cuando necesitas ayuda:
> > > > > 1) si tenes una exception tenes que pasar el texto completo del
> mensaje
> > > y
> > > > > no una parte de el.
> > > > > 2) si la exception tiene inner-exception tenes que pasar ambos
> mensages
> > > > > completo
> > > > > 3) si hablas de Empleados y Personas no envies lineas de codigo que
> no
> > > > > muestran nada de lo que estas hablando
> > > > > 4) si alguien te dice que es probable (en mi caso no dije probable
> > > porque
> > > > > estoy seguro) que tenes un problema con el manejo de la session,
> trata
> > > de
> > > > > explicar como estas manejando la session.
> >
> > > > > 2010/9/27 Erika Fernández <[email protected]>
> >
> > > > > FAbio: No estoy cerrando session, apenas recupero las personas, me
> > > > >> fijo en sus empleados. En esta línea:
> >
> > > > >>  IList listaPersonas = q.List();
> >
> > > > >> José: Necesito buscar un empleado por nro de documento, el tema es
> que
> > > > >> el empleado no tiene un nro de documento, pero si la persona (que
> es
> > > > >> la clase que contiene todos los datos personales de los empleados)
> Una
> > > > >> persona puede tener 1 a muchos empleados (con sus fechas de baja,
> en
> > > > >> realidad tiene 1 solo valido). Al consultar la clase Personas,
> > > > >> necesito sus intancias de empleados, pero como te digo, algunas
> > > > >> personas no son empleados y no tienen ninguna instancia de
> empleados.
> > > > >> Entoces mi duda seria como recupero los empleados de esa persona.
> >
> > > > >> Gracias nuevamente
> >
> > > > >> On 27 sep, 15:08, Fabio Maulo <[email protected]> wrote:
> > > > >> > El problemas que tenes es otro.
> > > > >> > Estas cerrando la session.
> >
> > > > >> > 2010/9/27 Erika Fernández <[email protected]>
> >
> > > > >> > > Mi problema es que al recuperar una persona, si tiene,
>  necesito
> > > los
> > > > >> > > empleados, pero como no puedo configurar lazy=false porque en
> > > algunos
> > > > >> > > casos no tiene empleados y me salta la excepcion "could not
> > > initialize
> > > > >> > > a collection", no se como cargar dinamicamente los empleados
> > > cuando
> > > > >> > > existan.
> >
> > > > >> > > Muchas gracias por la ayuda!
> >
> > > > >> > > On 27 sep, 14:30, José F. Romaniello <[email protected]>
> > > wrote:
> > > > >> > > > El 27 de septiembre de 2010 14:20, Erika Fernández
> > > > >> > > > <[email protected]>escribió:
> >
> > > > >> > > > > Necesito levantar dinamicamente una coleccion.
> > > > >> > > > > Es asi.... tengo objetos personas los cuales tiene un bag
> de
> > > > >> > > > > empleados  (0 a muchos empleados).
> > > > >> > > > > Como muchas personas no tienen en realidad ningun
> empleados,
> > > no
> > > > >> puedo
> > > > >> > > > > configurar lazy=false en el bag de empleados en el xml de
> > > > >> personas.
> >
> > > > >> > > > Hay como 3 cosas diferentes :
> >
> > > > >> > > >    - lazy=false/true es para que la colección de empleados,
> se
> > > > >> cargue
> > > > >> > > >    inmediatamente cuando cargas el objeto Persona... Lo cual
> > > para el
> > > > >> 98%
> > > > >> > > de los
> > > > >> > > >    casos es innecesario, y practicamente todos usamos el
> valor
> > > por
> > > > >> > > defecto
> > > > >> > > >    lazy="true"... que es lo mismo que no poner nada.
> > > > >> > > >    - El hecho de que una persona tenga 0 empleados y no
> puedas
> > > poner
> > > > >> > > >    lazy="false", tampoco tiene mucho que ver.. salvo que
> tengas
> > > una
> > > > >> > > combinación
> > > > >> > > >    de lazy="false" + fetch="join" (no recomendable).
> > > > >> > > >    - Con los valores por defecto todo debería funcionar
> bien,
> > > cual
> > > > >> es el
> > > > >> > > >    problema que tenes?
> >
> > > > >> > > > > ¿Como puedo hacerlo? Por lo que estuve leyendo hay 3
> librerias
> > > > >> > > > > distintas para hacer esto. Yo tengo como referencia en mi
> > > proyecto
> > > > >> > > > > LinFu.
> >
> > > > >> > > > No tiene nada que ver. Vamos a decir que nhibernate necesita
> > > generar
> > > > >> > > proxies
> > > > >> > > > para *many-to-one,* que son lazy. PAra el tema de las
> > > collections
> > > > >> > > nhibernate
> > > > >> > > > no utiliza proxies dinámicos. Osea que en este caso no te
> > > preocupes
> > > > >> por
> > > > >> > > > esto.
> >
> > > > >> > > --
> > > > >> > > Para escribir al Grupo, hágalo a esta dirección:
> > > > >> > > [email protected]
> > > > >> > > Para más, visite:
> > >http://groups.google.com/group/NHibernate-Hispano
> >
> > > > >> > --
> > > > >> > Fabio Maulo- Ocultar texto de la cita -
> >
> > > > >> > - Mostrar texto de la cita -
> >
> > > > >> --
> > > > >> Para escribir al Grupo, hágalo a esta dirección:
> > > > >> [email protected]
> > > > >> Para más, visite:
> http://groups.google.com/group/NHibernate-Hispano
> >
> > > > > --
> > > > > Fabio Maulo
> >
> > > > >  --
> > > > > Para escribir al Grupo, hágalo a esta dirección:
> > > > > [email protected]
> > > > > Para más, visite:
> http://groups.google.com/group/NHibernate-Hispano-Ocultartexto de la cita
> -
> >
> > > > - Mostrar texto de la cita -
> >
> > > --
> > > Para escribir al Grupo, hágalo a esta dirección:
> > > [email protected]
> > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
> >
> > --
> > Fabio Maulo- Ocultar texto de la cita -
> >
> > - Mostrar texto de la cita -
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>



-- 
Fabio Maulo

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