Si, estas seteando ese valor a null (hasta lo mandaste acá en pseudo codigo) Sección IdExamen = null Nombre = "Sección modificada"
2011/1/18 Argons <[email protected]> > Tengo un problema en el cual estuve luchando todo el día, es muy > extraño, lo que pasa es q tengo un requerimiento de copiar todo un > curso (la aplicación sirve para crear cursos tipo moodle) con > examenes, componentes, imagenes, etc, etc en base a uno ya existente. > Lo que hice fue primero obtener todo el grafo comenzando por el curso, > la estructura es más o menos así: > > -Curso > --Componentes > --Examenes > ----Seccion > ------GrupoPreguntas > ---------Preguntas > -----------Respuestas > etc. > > La estructura es algo compleja, por lo que primeramente obtuve la raíz > de todo q es el curso y luego cargué todo el grafo, y luego hice un > deep clone sobre el curso mediante serialización y luego puse en 0 los > IDs de todas las entidades para poder grabar. Todo graba bien solo que > al momento de hacer el flush se modifican los valores originales en la > BD, más o menos así por ejemplo > > ORIGINAL: > > Examen > IdExamen = 1 > Nombre = "Examen 1" > Seccion > IdSeccion = 1 > IdExamen = 1 > Nombre = "Sección 1" > > MODIFICADO: > > Examen > IdExamen = 0 > Nombre = "Examen modificado" > Sección > IdSeccion = 0 > IdExamen = null > Nombre = "Sección modificada" > > Y me sale la siguiente consulta extra > > UPDATE Seccion SET IdExamen = null WHERE IdSeccion = 1 > > Asi que al final el valor original en la base se queda con NULL. Estoy > haciendo algo mal? > Gracias de antemano por la ayuda. > Ariel > > -- > 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
