Why you should avoid CascadeType.REMOVE for to-many associations and what to do instead
The CascadeTypes REMOVE and ALL, which includes REMOVE, provide a comfortable option to remove an entity together with all its child entities. But it creates several issues for to-many associations, and you should only use it for to-one relationships.