Обратите внимание, что часть "сирота" не имеет ничего общего с каскадным удалением курса к уроку, она позволяет
c.getTutorials().remove(tutorialToDelete);
session.merge( c );
чтобы удалить учебник, который был удален в экземпляре коллекции, я не знаю, есть ли проблемы с производительностью, связанные с флагом-сиротой, но если вы не полагаетесь на это поведение, вы можете просто переключиться на
cascade="delete"