I want to support very usual use case:

```php
/**
 * @MappedSuperclass
 */
abstract class BaseEntity {
    /** @Id @Column(type = "integer") @GeneratedValue */
    protected $id;

    public function __get($property) {
        return $this->$property;
    }
    ....
}

/**
 * @Entity
 */
class Post extends BaseEntity {
    /** @Column(length = 80) */
    protected $name;

    /** @Column(type = "datetime") */
    protected $createdAt;

    /** @ManyToMany(targetEntity = "User", fetch = "EAGER") */
    protected $authors;

    ...
}
```