Tenés razón. El curso se da de alta antes. Se me pasó eso.
2010/6/18 Fabio Maulo <[email protected]> > o sea que agregando un Alumno podes dar de alta un nuevo Curso ? > > 2010/6/18 Jose Selesan <[email protected]> > >> Te paso un extracto de la clase y el mapeo >> >> public class Alumno: Persona >> { >> public virtual string Matricula { get; set; } >> public virtual Curso Curso { get; set; } >> } >> >> *** >> <class name="Persona" table="Personas"> >> >> <id name="Id" column="ID"> >> <generator class="guid.comb" /> >> </id> >> <property name="Apellido" /> >> <property name="Nombre" /> >> >> <joined-subclass name="Alumno" table="Alumnos"> >> <key column="IDPersona"/> >> <many-to-one name="Curso" column="IDCurso" cascade="save-update"/> >> </joined-subclass> >> </class> >> >> >> >> >> >> 2010/6/17 José F. Romaniello <[email protected]> >> >>> Ok, entonces no es lo que yo pensaba, podrías igual mostrar la clase >>> Alumno? >>> >>> El 17 de junio de 2010 20:14, Jose Selesan <[email protected]>escribió: >>> >>>> Hola José. Sí, estoy usando Save. Voy a tener que leer un poco sobre la >>>> diferencia entre Save y Persist. >>>> >>>> Gracias por el dato. >>>> >>>> 2010/6/17 José F. Romaniello <[email protected]> >>>> >>>>> Te quería preguntar si podrías mostrar la clase alumno por un lado, y >>>>> por otro lado, si estas seguro que estas llamando a Save y no a Persist >>>>> (presentimiento). >>>>> >>>>> >>>>> El 17 de junio de 2010 18:27, Jose Selesan <[email protected]>escribió: >>>>> >>>>> Efectivamente. Ahora la pregunta es, como puedo evitar el cascade >>>>>> sobre alumno (que ahí ni lo tocó) y grabar simplemente la >>>>>> notificación? >>>>>> >>>>>> >>>>>> >>>>>> El 17/06/10, Carlos Cocom <[email protected]> escribió: >>>>>> > Hola Jose >>>>>> > >>>>>> > Me parece que esto es por que en la entidad alumno tienes tienes una >>>>>> > propiedad curso que esta relacionado supongo a otra entidad y en >>>>>> esta la >>>>>> > definiste como lazy = "true". >>>>>> > >>>>>> > Al momento de guardar en session.save aun no se ha terminado de >>>>>> cargar la >>>>>> > entidad curso >>>>>> > >>>>>> > mas detalles >>>>>> http://nhforge.org/doc/nh/en/index.html#collections-lazy >>>>>> > >>>>>> > Saludos >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > El 17 de junio de 2010 14:56, Jose Selesan <[email protected]> >>>>>> escribió: >>>>>> > >>>>>> >> Gente, me está sucediendo algo. Tengo una entidad Alumno con un >>>>>> muchos a >>>>>> >> muchos con la entidad Padre, por otro lado, tengo una entidad >>>>>> >> NotificacionPadre, con un many-to-one a Padre: >>>>>> >> >>>>>> >> <class name="Notificacion" table="Notificaciones"> >>>>>> >> >>>>>> >> <id name="Id" column="ID"> >>>>>> >> <generator class="guid.comb" /> >>>>>> >> </id> >>>>>> >> >>>>>> >> <discriminator column="Tipo" type="string" /> >>>>>> >> >>>>>> >> <property name="Fecha"/> >>>>>> >> <property name="Texto" length="1000"/> >>>>>> >> >>>>>> >> <subclass discriminator-value="1" >>>>>> name="NotificacionGeneral"> >>>>>> >> </subclass> >>>>>> >> >>>>>> >> <subclass discriminator-value="2" name="NotificacionPadre"> >>>>>> >> <many-to-one name="Padre" column="IDPadre" >>>>>> cascade="none" >>>>>> >> fetch="join" /> >>>>>> >> </subclass> >>>>>> >> </class> >>>>>> >> >>>>>> >> Ahora estoy haciendo algo similar a esto: >>>>>> >> >>>>>> >> //tengo un id que es el Guid de un alumno >>>>>> >> var alumno = Session.Get<Alumno>(id); >>>>>> >> foreach(var padre in alumno.Padres) >>>>>> >> { >>>>>> >> var notificacion = new NotificacionPadre{ >>>>>> >> Fecha = DateTime.Today, >>>>>> >> Texto = texto, >>>>>> >> Padre = padre >>>>>> >> }; >>>>>> >> Session.Save(notificacion); >>>>>> >> } >>>>>> >> >>>>>> >> Todo esto dentro de una transacción. >>>>>> >> >>>>>> >> Ahora bien, me está dando una PersistentObjectException con el >>>>>> mensaje: >>>>>> >> *Uninitialized >>>>>> >> proxy passed to save(). Object: >>>>>> CursoProxyd41d419af95040a38594f99fcfa4f0e7 >>>>>> >> *Donde Curso es una propiedad Lazy del Alumno, lo que no entiendo >>>>>> es por >>>>>> >> qué quiere hacer un cascade al guardar la Notificacion. ¿Qué estaré >>>>>> >> haciendo >>>>>> >> mal? >>>>>> >> >>>>>> >> Gracias! >>>>>> >> >>>>>> >> -- >>>>>> >> 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 >>>>>> >>>>>> -- >>>>>> Enviado desde mi dispositivo móvil >>>>>> >>>>>> Lic. Jose Selesan >>>>>> Desarrollador Gold Cinco Estrellas >>>>>> http://jose-selesan.blogspot.com >>>>>> >>>>>> -- >>>>>> 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 >> > > > > -- > 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 > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
