Refer to http://www.avaje.org/topic-157.html
I think @DeleteOrphans would usually be used with CascadeType.ALL
But of course it might also be used without another cascade action, e.g. in conjunction with REMOVE: when the parent is removed, remove all items in the association. Additionally, when an item is removed from the association remove the item too.