Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/03/2012, 06:21
Javanoob
 
Fecha de Ingreso: marzo-2012
Ubicación: España
Mensajes: 5
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Borrado en hibernate sin cascada

Cita:
Iniciado por Fuzzylog Ver Mensaje
Es un poco lioso lo que dices.

Si USUARIOS_GRUPOS es la tabla que relaciona un usuario con un grupo tienes que tener otras dos tablas, USUARIOS y GRUPOS. Si quieres borrar un usuario, habría que eliminar en cascada los registros de USUARIOS_GRUPOS en los que aparezca ese usuario, y luego el registro que haya en USUARIOS, pero ESO no va a borrar ningún grupo al que pertenezca el usuario.

Si quisieses eliminar un grupo tendría más sentido lo que dices. Es decir, tendrías que eliminar los registros de USUARIOS_GRUPOS correspondientes al grupo que quieres eliminar, y si hay usuarios asignados a ese grupo, entonces debería saltar algún aviso que lo impida.

En todo caso, prueba a usar esta anotación:

@OneToMany(cascade = {})

Que viene a ser un cascade = NONE
Si, ya lo he comprobado y desde el punto de vista de programación orientada a objetos es correcto, lo que pasa es que estoy demasiado acostumbrado a bases de datos ... con el cascade=none funciona bien y si no quiero que borre usuarios que estén en grupos tengo que controlarlo por código comprobando que la lista de usuarios sea nula.

Gracias de todos modos