Cascading is about persistence actions involving one object propagating to other objects via an association. Cascading can apply to a variety of Hibernate actions, and it is typically transitive. The "cascade=..." attribute of the annotation that defines the association says what actions should cascade for that association.
Cascade = "all" means to apply all primary cascade types. As of Hibernate 5.3, these types are:
- "delete" / "remove",
- "detach" / "evict",
- "merge",
- "lock",
- "persist",
- "refresh",
- "replicate",
- "save_update" / "update"
(Some of those cascade type names are old and/or deprecated.)
There are three more compound types:
- "all_delete_orphan" - means the same as "all" plus enabling the deletion of entities that are orphaned by the cascading.
- "delete_orphan" - means "delete" plus orphan deletion.
- "none" - means no cascading.