Doctrine orm 可以通过抽象类建立关系吗

Doctrine orm 可以通过抽象类建立关系吗,doctrine-orm,zend-framework2,abstract-class,relationship,Doctrine Orm,Zend Framework2,Abstract Class,Relationship,我用的是ZF2,信条 我有几个扩展基本抽象类的实体。 抽象类中的一个字段与另一个实体消息相关 我的实体: class AbstractChat { ............ /** ONE-TO-MANY BIDIRECTIONAL, INVERSE SIDE * @ORM\OneToMany(targetEntity="Chat\Entity\Message", mappedBy="chat") */ protected $messages; }

我用的是ZF2,信条

我有几个扩展基本抽象类的实体。 抽象类中的一个字段与另一个实体消息相关 我的实体:

class AbstractChat
{
    ............

    /** ONE-TO-MANY BIDIRECTIONAL, INVERSE SIDE
     * @ORM\OneToMany(targetEntity="Chat\Entity\Message", mappedBy="chat")
     */
    protected $messages;
}

class Chat extends AbstractChat
{

}

class ChatBuilding extends AbstractChat
{

}

class Message
{

    /**
     * @var \Chat\Entity\Chat
     *
     * @ORM\ManyToOne(targetEntity="Chat\Entity\AbstractChat", inversedBy="messages")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="chat_id", referencedColumnName="id")
     * })
     */
    private $chat;
}
如何声明该关系是与扩展
AbstractChat
类的所有实体的关系

这意味着不起作用:

 @ORM\ManyToOne(targetEntity="Chat\Entity\AbstractChat", inversedBy="messages")

您可以实现与超类的关系

继承有两种类型。单表和类表(hibernate中每个类的表)。查看类表继承