私は質問をするのがあまり得意ではありませんが、以下のコードは自明であるはずです。クラスからエンティティではないエンティティのスーパークラスへの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関係を使用してサブクラス1とサブクラス2の両方を参照するにはどうすればよいですか?