De todas maneras debes agregar el not-null = "false" en <many-to-one name="FacturaAplicada" class="Factura" column="FacturaId" not-null = "false"/>.
Umm ... siempre me confundo con el not-null = "true/false" diria que seria mas intuitivo si dijera nullable="true/false"... En fin prueba y me cuentas. En caso de que no estes generando el esquema con el SchemaExport entonces debes correr un script en la BD que cambie la llave foranea "FacturaId" como null = "true". Saludos, Nestor Rodriguez 2011/6/28 Nestor Andres Rodriguez <[email protected]> > Estas generando el script desde NH con SchemaExport ? > > > 2011/6/28 Edgar Ramos <[email protected]> > >> Gente un Saludo >> >> Me he liado un poco con la relacion de estos objetos >> >> Factura y Retencion >> >> A una Factura le corresponde una retencion, siempre y cuando el cliente lo >> exija, caso contrario no aplica, para este efecto >> >> >> Mis clases >> >> public class Factura >> { >> ....... >> public virtual RetencionFuenteVenta Retencion { get; set; } >> ....... >> } >> >> public class RetencionFuenteVenta >> { >> ........ >> public virtual Factura FacturaAplicada { get; set; } >> ...... >> } >> >> Mis mappings >> >> <class name="RetencionFuenteVenta"> >> <id name="Id"> >> <generator class="hilo"/> >> </id> >> >> ......... >> <many-to-one name="FacturaAplicada" class="Factura" column="FacturaId" >> /> >> </class> >> >> <class name="Factura"> >> <id name="Id"> >> <generator class="hilo"/> >> </id> >> >> <many-to-one name="Retencion" class="RetencionFuenteVenta" >> column="RetencionId" cascade="all" /> >> </class> >> >> En el esquema de la bdd, la tabla Factura tiene el campo RetencionId como >> permitir valores nulos, que para mi >> caso es lo que requiero. >> Por otro lado La tabla RetencionFuenteVenta, campo FacturaId, tiene >> tambien permitir valores nulos, no me parece >> que sea lo correcto, pero lo puesto asi para que nh persista estas >> entidades y lo hace sin problemas >> >> Pero al quitar de RetencionFuenteVenta, campo FacturaID el permitir >> valores nulos, nh me tira un error >> ------------------------------- >> {"No se puede insertar el valor NULL en la columna 'FacturaID', tabla >> 'RetencionFuenteVenta'. La columna no admite valores NULL. INSERT falla.\r\n >> Se terminó la instrucción."} >> --------------------------------- >> >> Cualquier comentario o sugerencia les estoy muy agradecido >> >> Saludos >> >> Edgar >> >> >> >> -- >> 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
