получается дто это класс с набором публичных полей, на которые повешены констрейнты валидатора, распарсенные данные сохраняются в объект дто, прогоняются валидатором, если все ок то передаются из дто в энтити. Сохранять из дто в энтити можно прямо как $entity->setField($dto->getField())? Нет же автоматической "перегонялки" из одного объекта в другой?
Да можно пропустить этап с дто, если нет в нем надобности