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

Responder a