De la especificación EJB3.0 :
El uso del elemento de anotación en cascada puede usarse para propagar el efecto de una operación a las entidades asociadas. La funcionalidad en cascada se usa más comúnmente en las relaciones padre-hijo.
Si X es una entidad administrada, la operación de eliminación hace que se elimine. La operación de eliminación se conecta en cascada a las entidades a las que hace referencia X, si las relaciones de X a estas otras entidades se anotan con el valor del elemento de anotación cascade = REMOVE o cascade = ALL.
En pocas palabras, las relaciones de entidad definidas con CascadeType.All
garantizarán que todos los eventos de persistencia tales como persistir, actualizar, fusionar y eliminar que ocurran en el padre, se pasen al hijo. La definición de otras CascadeType
opciones proporciona al desarrollador un nivel de control más granular sobre cómo la asociación de entidades maneja la persistencia.
Por ejemplo, si tuviera un libro de objetos que contuviera una lista de páginas y agregue un objeto de página dentro de esta lista. Si la @OneToMany
anotación que define la asociación entre Libro y Página está marcada como CascadeType.All
, persistir en el Libro daría como resultado que la Página también se mantenga en la base de datos.