Your mapping does not look right. The ManyToOne declaration does not require the inversedBy attribute if you are not using a join table. You also do not need to specify @var, since it already knows it with an entity. Try the following:
/** * @ORM\ManyToOne(targetEntity="Author") * @ORM\JoinColumn(name="author_id", referencedColumnName="id") **/ private $author;
Another thing that needs to be done is to verify that you are not trying to declare the same object in another package, this will also result in a "table already exists" error.
In addition, to avoid using references to objects of the full path in getter and setter, just include the entity in the use of statemnets at the top of the class, then you only need to write the name of the object:
/** * set Author * * @param Author $author * * @return Post /**
source share