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

Responder a