Pregunta

Estoy tratando de guardar un registro que tiene un mapeo muchos-a-uno propiedad. Intento de asignar un objeto padre recién creado aquí (o utilizar una ya existente, pero que funciona bien) pero me da un error cuando se intenta añadir el ID del objeto padre a la mesa del niño. Diciendo que no puede añadir NULL a la mesa, lo cual es cierto, pero pensé NHibernate era lo suficientemente inteligente como para guardar el objeto padre en primer lugar, incluso si estoy añadiendo el niño.

Asignaciones:

Niño:

 <many-to-one name="parent" class="ParentClass" column="parentID" cascade="all"/>

Padres:

<bag name="DataList" table="ChildTable" lazy="false" inverse="true" cascade="all-delete-orphan">
      <key column="parentID" />
      <one-to-many class="ChildClass" />
    </bag>

Básicamente, ¿Es esto algo NHibernate puede hacer?

¿Fue útil?

Solución

No puedo ver a su padre de mapeo, pero me gustaría apostar si tiene inversa = true y en cascada enciende allí por un conjunto de objetos hijo, y le permiten valores nulos en la columna de la parentID de su objeto secundario, cuando el padre se decidió a salvar sería actualizar el objeto secundario correctamente.

Otros consejos

Este comportamiento puede ser causado por su clave primaria se "asigna" en lugar de generarse por Nhibernate.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top