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
