1. Норм.
2. Норм.
3. Плохо, транспорт не должен создавать колёса.
Вопрос - как логичней это делать? Учитывая то, что в сущности Wheel по-умолчанию нужно установить нек-рые параметры, к-рые зависят от параметров родителя, т.е. сущности Transport.
Сперва создаёте колесо (через new или через фабрику, как удобнее) и настраиваете параметры, не зависящие от транспорта:
$wheel = new Wheel();
Затем добавляете колесо к транспорту:
$transport->addWheel($wheel);
Параметры Wheel, которые зависят от Transport, определяются в методе Transport::addWheel() или Wheel::setTransport():
public function addWheel(Wheel $wheel)
{
$wheel->setTransport($this);
$this->getWheelsCollection()->add($wheel);
}