Объект Doctrine 2 с составным ключом:
/**
* @Entity
*/
class Test
{
/**
* @Id
* @Column (type="integer", length=11, name="id")
*
*/
protected $id = null;
/**
* @Id
* @Column (type="integer", length=11, name="idtwo")
*
*/
protected $idtwo = null;
public function setIdTwo($id)
{
$this->idtwo = $id;
}
public function setId($id)
{
$this->id = $id;
}
}
Сохранение объекта
$test = new Test();
$test->setId(1);
$test->setIdTwo(1);
$em->persist($test);
Таблица БД:
CREATE TABLE `Bella_Test` (
`id` int(11) NOT NULL,
`idtwo` int(11) NOT NULL,
PRIMARY KEY (`id`,`idtwo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Ожидаемый результат: строкадобавляется в таблицу БД с двумя полями идентификаторов, каждое из которых имеет значение 1.
Фактический результат: строка не добавляется в таблицу БД.Исключений не было.
Вопрос: что происходит?