Всем добрый день!
Разбираюсь с наследованием в Doctrine 2, как описано
здесь.
Создаю класс:
use Doctrine\ORM\Mapping as ORM;<br><br>
/**<br>
*<br>
* @ORM\MappedSuperclass<br>
*/<br>
abstract class AbstractEntity<br>
{<br>
/**<br>
* @var User<br>
* @ORM\ManyToOne(targetEntity="User")<br>
* @ORM\JoinColumn(name="user_created_id", referencedColumnName="id")<br>
*/<br>
protected $userCreated;<br><br>
/**<br>
* Set userCreated<br>
*<br>
* @param User $userCreated<br>
* @return AbstractEntity<br>
*/<br>
public function setUserCreated(User $userCreated = null)<br>
{<br>
$this->userCreated = $userCreated;<br>
return $this;<br>
}<br><br>
/**<br>
* Get userCreated<br>
*<br>
* @return User<br>
*/<br>
public function getUserCreated()<br>
{<br>
return $this->userCreated;<br>
}<br>
}<br>
Создаю наследника:
/**<br>
* @ORM\Entity<br>
*/<br>
class Record extends AbstractEntity {<br>
/**<br>
* @ORM\Id<br>
* @ORM\Column(name="id", type="integer")<br>
* @var integer<br>
*/<br>
protected $id;<br>
}<br>
И после этого в консоли выполняю
php app/console doctrine:generate:entities NAMESPACE
В чём проблема: генератор доктрины копирует поле $userCreated вместе с геттерами и сеттерами в наследника. Как этого избежать? В том же FOSUsersBundle наследование прокатывает, правда там конфиг в xml, а не в аннотациях как у меня, но не может быть это проблемой же?