Doctrine ORM совсем не проста и требует правильного использования. Ключем к поминманию являются транзакции и Unit of Work. При правильном использовании в програмном коде мы взаимодествуем с сущьностями бизнес логики, которые в финале сохраняем единым пакетом. В случае ошибки не сохраняем ничего.