Composite-element com many-to-one: alguém usa?

0 respostas
rafaelsantini

Alguém tem um composite-element contendo um relacionamento many-to-one? Caso sim, conseguem utilizar o cascade delete? Exemplo:

<class name="Student">

    <id name="id">
      <generator class="native"/>
    </id>

    <property name="name" not-null="true"/>

    <set name="addresses" cascade="all-delete-orphan">
     <key column="id_student" not-null="true"/>
     <composite-element class="Address">
       <property name="street" not-null="true"/>
       <property name="city" not-null="true"/>
       <property name="state" not-null="true"/>
       <property name="zip" not-null="true"/>
       <many-to-one name="attach" column="id_attach" unique="true" cascade="all,delete"/>
     </composite-element>     
    </set>
   
  </class>

  <class name="Attach">
    <id name="id">
      <generator class="native"/>
    </id>   
  </class>

Ao excluir um elemento do set addresses, o relacionamento attach também deveria ser excluído, mas isso não acontece! Para inserção e atualização funciona perfeitamente.

Estou inconformado com esse problema. Para contornar (aka gambiarra) vou ter que implementar um DAO para uma entidade fraca.

Como vocês tratam isso, no caso em que o relacionamento many-to-one dentro do composite-element é uma entidade fraca (só faz sentido existir com o elemento)?

Criado 18 de novembro de 2009
Respostas 0
Participantes 1