Oi GUJ,
galera, tenho um sistema bem simples.
Tenho três tabelas: usuario, produto, lote.
Cada produto tem o id e o nome do produto apenas.
Um usuario tem vários lotes (lotes de produtos, quer dizer nesta tabela tenho o id do produto, quantidade, descrição, etc).
Agora como eu faço o mapeamento no hibernate de forma que ao deletar um usuario ele apague também os seus lotes ? Os produtos não, pois quero que fiquem no banco mesmo.
Atualmente esta assim:
// Lote
<hibernate-mapping>
<class catalog="p2p" name="Entidades.Lote" table="lote">
<composite-id class="Entidades.LoteId" name="id">
<key-property name="id" type="int">
<column name="id"/>
</key-property>
<key-property name="idProduto" type="int">
<column name="idProduto"/>
</key-property>
</composite-id>
<many-to-one class="Entidades.Usuario" fetch="select" name="usuario">
<column length="50" name="email" not-null="true"/>
</many-to-one>
<many-to-one class="Entidades.Produto" fetch="select" insert="false" name="produto" update="false">
<column name="idProduto" not-null="true"/>
</many-to-one>
<property name="quantidade" type="int">
<column name="quantidade" not-null="true"/>
</property>
<property name="modo" type="char">
<column length="1" name="modo" not-null="true"/>
</property>
<property name="unidade" type="string">
<column length="25" name="unidade" not-null="true"/>
</property>
<property name="descricao" type="string">
<column length="150" name="descricao" not-null="true"/>
</property>
</class>
</hibernate-mapping>
//Produto
<hibernate-mapping>
<class catalog="p2p" name="Entidades.Produto" table="produto">
<id name="id" type="int">
<column name="id"/>
<generator class="assigned"/>
</id>
<property name="nome" type="string">
<column length="150" name="nome" not-null="true"/>
</property>
<set inverse="true" name="lotes" cascade="save-update, delete">
<key>
<column name="idProduto" not-null="true"/>
</key>
<one-to-many class="Entidades.Lote"/>
</set>
</class>
</hibernate-mapping>