Перекопав инет выяснилось, что элегантного решения, судя по всему не существует.
В итоге пишлось сделать так:
public function getProduct()
{
try {
$sku = $this->product->getSku();
} catch (\Doctrine\ORM\EntityNotFoundException $e) {
return null;
}
return $this->product;
}
Хотя это приводит к проблемам другого рода в случае необходимости получения poductId {{ item.product.productId }}
Вот еще вариант. Установить fetch="EAGER" тогда сразу после инициализации корневой сущности в product будет попадать null
/**
* @var \Backend\SalesBundle\Entity\SalesOrder
*
* @ORM\ManyToOne(targetEntity="Backend\CatalogBundle\Entity\CatalogProduct", fetch="EAGER")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="product_id", referencedColumnName="product_id")
* })
*/
private $product;