Doctrine-Entity に人間が読める ID を実装したいと思います。「PRE12-00005」のようなものを機能させて追加するためにDB-IDを保持したい(接頭辞と年で、毎年0から始まる)。Custom-ID-Generator を追加しようとしましたが、Doctrine は 1 つのエンティティで 2 つの生成された値を処理できないようです。
/**
* @var integer
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @var string
* @ORM\Column(name="name", type="string", length=25, unique=true)
* @ORM\GeneratedValue(strategy="CUSTOM")
* @ORM\CustomIdGenerator(class="NameGenerator")
*/
protected $name;
Doctrine は常にジェネレーターからの戻り値を「id」フィールドに保存し、null を「name」に保存しようとします。それを実装する別の方法はありますか?