Tipos de CascadeType en Spring Boot (JPA/Hibernate)
CascadeType.ALL
Definición: Propaga todas las operaciones: persist, merge, remove, refresh, detach.
Ejemplo: Un Usuario y sus Direcciones dependientes.
CascadeType.PERSIST
Definición: Al guardar la entidad padre, también se guardan las entidades hijas.
Ejemplo: Guardar un Autor y sus Libros.
CascadeType.MERGE
Definición: Al actualizar la entidad padre, también se actualizan las hijas.
Ejemplo: Actualizar un Pedido y sus Items.
CascadeType.REMOVE
Definición: Al eliminar la entidad padre, también se eliminan las hijas.
Ejemplo: Eliminar un Usuario y sus Direcciones.
CascadeType.REFRESH
Definición: Al refrescar la entidad padre desde la BD, también se refrescan las hijas.
Ejemplo: Sincronizar datos padre e hijos con la base de datos.
CascadeType.DETACH
Definición: Al separar la entidad padre del contexto de persistencia, también se separan las hijas.
Ejemplo: Desasociar entidades en una sesión de Hibernate.
CascadeType.ALL solo cuando la relación sea estrictamente dependiente,
de lo contrario podrías eliminar datos inesperadamente.