I updated my entity which has a oneToMany relationship expressed as a Set .
So I am using cascade = CascadeType.ALL . So when I added something to the set and updated my entity everything was fine.
But when I removed a child from SET and then updated it it was not removed from the cild table. It was stil in the database.
So I used orphanRemoval = true and yes it also was removed from the child table. Why when already using cascade = CascadeType.ALL which should include CascadeType.Remove I still have to say orphanRemoval = true ?