Bueno agregue lo que me indicaste la relacion (one-to-many) y agregar
cascade =
"all-delete-orphan" me quedo asi:

La Tabla Hijo:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="PDVSA.Negocio.Entidades.Comunes"
assembly="Entidades.Comunes"
default-lazy="true">
<class name="PDVSA.Negocio.Entidades.Comunes.rEsquemaStandoff"
table="T_rEsquemaStandoff">
<meta attribute="extends">PDVSA.Business.Entities.Core.AbstractEntity</
meta>
<meta attribute="addtional-soucecode">
    </meta>
    <id name="ID" column="PK_CodigoEsquemaStandoff" type="String"
length="32" unsaved-value="0">
      <meta attribute="field-browsable">false</meta>
      <meta attribute="field-readonly">true</meta>
      <meta attribute="field-category">GeneralCategory</meta>
      <meta attribute="field-propertysort">1</meta>
      <generator class="uuid.hex"/>
    </id>

    <many-to-one name="FK_CodigoEscenario"
class="PDVSA.Negocio.Entidades.Proyecto.pEscenario,
Entidades.Proyecto" foreign-key="FK_CodigoEscenario"
column="FK_CodigoEscenario" cascade="delete">
    </many-to-one>

    <property name="ProfundidadStandoff" column="ProfundidadStandoff"
type="double">
    </property>

    <property name="Standoff" column="Standoff" type="double">
    </property>

</class>

</hibernate-mapping>

La Tabla Padre:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
        namespace="PDVSA.Negocio.Entidades.Proyecto"
        assembly="Entidades.Proyecto"
        default-lazy="true">
        <class name="PDVSA.Negocio.Entidades.Proyecto.pEscenario,
Entidades.Proyecto" table="T_pEscenario">
                <meta
attribute="extends">PDVSA.Business.Entities.Core.AbstractEntity</meta>
                <meta attribute="default-property-tostring">ID</meta>
    <meta attribute="field-browsable">false</meta>
    <meta attribute="field-readonly">true</meta>
    <id name="ID" column="FK_CodigoEscenario" type="String"
length="32" unsaved-value="0">
      <generator class="foreign">
        <param name="property">FK_CodigoEscenario</param>
      </generator>
    </id>

                <one-to-one name="FK_CodigoEscenario"
class="PDVSA.Negocio.Entidades.Proyecto.dProyectoEscenario,
Entidades.Proyecto" foreign-key="PK_CodigoProyectoEscenario">
                </one-to-one>

    <set name="EsquemaStandoff" table="T_rEsquemaStandoff"
cascade="all-delete-orphan">
      <key column="FK_CodigoEscenario"/>
      <one-to-many
class="PDVSA.Negocio.Entidades.Comunes.rEsquemaStandoff,
Entidades.Comunes"/>
    </set>

    <property name="DescripcionEscenario"
column="DescripcionEscenario" type="String" length="1024">
    </property>

  </class>

</hibernate-mapping>

Pero aun me sigue dando el mismo problema:

a. En este caso, (como muestro mis entidades arriba) si elimino el
hijo (EsquemaStandoff) me esta borrando tambien el padre (Escenario) y
no quiero que esto pase.

b. Probe quitando el cascade="delete" del many-to-one de la tabla hijo
(EsquemaStandoff) y entonces al momento de eliminar el padre y existir
un hijo me esta dando el problema de que no puede eliminar el padre
porque existe un hijo.

{NHibernate.Exceptions.GenericADOException: could not delete:
[PDVSA.Negocio.Entidades.Proyecto.pEscenario#33dc6e7f191f462a882c889071ac64eb]
[SQL: DELETE FROM public.T_pEscenario WHERE FK_CodigoEscenario = ?]
Npgsql.NpgsqlException: update or delete on table "t_pescenario"
violates foreign key constraint "fk_codigoescenario" on table
"t_resquemastandoff"

Si alguien me puede ayudar con este problema se lo agradezco, que me
indique si estoy haciendo las cosas mal, ya he probado de todas las
formas y no se como hacerlo.

O sera que a juro yo tengo que hacer la implementacion para que
hibernate borre los hijos antes que los padres?

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