質問にはあまりよく似ていませんが、以下のコードは自明です。 クラスからエンティティではないエンティティのスーパークラスへのOneToOneの関連付けを作成する必要があります。Doctrine 2.0:OneToOneの関係でエンティティのスーパークラスをターゲットにする方法
/* Not an entity */
class Superclass {
/**
*@Id @Column(name="entity_id", type="integer") @GeneratedValue
**/
protected $id;
}
/**
* @Entity @Table(name="subclasses1")
**/
class Subclass1 extends Superclass {
}
/**
* @Entity @Table(name="subclasses2")
**/
class Subclass2 extends Superclass {
}
/**
* @Entity @Table(name="assoc")
**/
class Associationclass
{
/**
*OneToOne(targetEntity="Superclass")
**/
protected $association;
/**
*@Column(type="string")
**/
protected $info;
}
質問は:どのように私はスーパーエンティティ(新しいテーブルを作成し、ディスクリミネータを使用)せずにOneToOneの関係を使用してsubclass1とsubclass2の両方を参照することができますか?