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