Como están amigos.

Resulta que haciéndole pruebas a una de las aplicaciones que estoy
desarrollando, me genera el siguiente error cuando intento eliminar un
objeto que es hijo de otro: deleted object would be re-saved by
cascade (remove deleted object from associations).

Básicamente es una relación recursiva de tipo Padre-Hijo, siendo ambos
objetos de la misma clase. El mapeo de la clase va así:

<class name="Accionista">
    <id name="Id">
      <generator class="native" />
    </id>
    <many-to-one name="accionista_padre" column="accionista_padre"
class="Accionista"  ></many-to-one>
    <set name="accionistas_hijos" inverse="true" cascade="all-delete-
orphan" >
      <key column="accionista_padre"></key>
      <one-to-many class="Accionista"/>
    </set>
  </class>

La clase Accionista tiene dos propiedades que los relacionan con otros
accionistas, la propiedad accionista padre y el set de accionistas
hijos. Siempre hay un accionista de primer nivel que no tiene
accionista padre, no se si esté mapeando adecuadamente. El método que
utilizo para borrar es el siguiente:


        Public Sub eliminar(ByVal accionista As Accionista) Implements
IRepositorioAccionista.eliminar
            Dim sesion As NHibernate.ISession =
manejadores.ManejadorSesiones.obtenerSesionActual
            Using tx As NHibernate.ITransaction =
sesion.BeginTransaction
                If accionista IsNot Nothing Then
                    sesion.Delete(accionista)
                    tx.Commit()
                End If
            End Using


Hasta el momento todas las relaciones padre-hijo las he mapeado de esa
forma, no se si el problema está en la relación recurrente entre
objetos de la misma clase.

Gracias por su ayuda!





--~--~---------~--~----~------------~-------~--~----~
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