Doctrina передаёт абсолютно все имеющие параметры, а не достающие выставляет в значение null. Почему происходит именно так?
А как вы хотели? Doctrine создана для работы с БД, как вы себе представляете вставку в таблицу БД(5 колонок) запись всего 2х, естественно вставка происходит целой записи и параметрам которые вы вручную не задали или не прописали их инициализацию в конструкторе, присваивается значение null.
function __construct() {
$this->firstName = "unknown";
$this->lastName= "unknown";
// и тд
}