Saya tahu ini adalah pertanyaan lama, tetapi saya menemukannya saat mencari cara untuk membuat PK komposit dan berpikir itu bisa menggunakan beberapa pembaruan.
Hal-hal sebenarnya jauh lebih sederhana jika yang Anda butuhkan adalah Kunci Utama Komposit. (Yang, tentu saja, menjamin keunikan) Dokumentasi doktrin berisi beberapa contoh bagus oleh url ini: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/composite-primary-keys.html
Jadi contoh aslinya bisa terlihat seperti ini:
/**
* @var string $videoDimension
*
* @ORM\Id @ORM\Column(type="string")
*/
private $videoDimension;
/**
* @var string $videoBitrate
*
* @ORM\Id @ORM\Column(type="string")
*/
private $videoBitrate;
Beberapa catatan di sini:
- Kolom "nama" dihilangkan karena Doktrin dapat menebaknya berdasarkan nama properti
- Karena
videoDimension
dan videoBitrate
keduanya merupakan bagian dari PK - tidak perlu disebutkannullable = false
- Jika diperlukan - PK Komposit dapat terdiri dari kunci asing, jadi silakan tambahkan beberapa pemetaan relasional