Hola, tengo otro de los muchos problemas que me da hibernate.
Tengo esta clase mapeada, que usa dos tablas:
<class name="FotoCarreraVO" table="fotos_carrera" >
<id name="idFoto" type="java.lang.Integer">
<column name="idFoto" />
<generator class="increment" />
</id>
<many-to-one name="carrera" class="CarreraVO"
update="true" insert="true" cascade="save-update">
<column name="idCarrera"/>
</many-to-one>
<property name="tiempo" type="java.sql.Time"
column="tiempo" not-null="true" >
</property>
<property name="pathRelativo" type="java.lang.String"
column="pathRelativo" not-null="true" length="100">
</property>
<set name="dorsales" table="fotos_dorsales" inverse="true" cascade="all,delete-orphan" order-by="dorsal" >
<key column="idFoto" not-null="true"/>
<element type="java.lang.Integer" column="dorsal"/>
</set>
Cuando intento borrar un objeto FotoCarreraVO, me da el siguiente error:
Cannot delete or update a parent row: a foreign key constraint fails
Ya se que ese error da, porque intento eliminar una tupla de la tabla fotos_carrera cuyo idFoto es una foreign key de fotos_dorsales. Osea, que hibernate no borra antes las correspondientes tuplas en fotos_dorsales.
Lo que me sorprende, es que otras veces que he usado una relacion many-to-one, si lo hace, pero ahora que utilizo set no.
¿Ha alguien le ha pasado esto alguna vez?
Espero puedan ayudarme, gracias