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