Сериализатор JMS десериализуется с абстрактным родительским классом

У меня есть абстрактный родительский класс (сопоставленный супер), у которого есть несколько детей с различными свойствами, которые яЯ хотел бы десериализовать. Я'Я храню данные, используя MongoDB и Doctrine ODM, поэтому у меня также есть поле дискриминатора, которое сообщает доктрине, какой подкласс используется (и также имеет свой собственный "тип" свойство ontop, которое используется в другом месте, чтобы определить, какой класс обрабатывается в данный момент).

При десериализации моей модели я получаю исключение, говорящее мне, что невозможно создать экземпляр абстрактного класса (ofcourse) - теперь яМне интересно, как я могу сказать JMS Deserializer, какой унаследованный класс он должен использовать (вот почему я использую пользовательскийtype Например, переменная экземпляра - потому что у меня нет доступа к доктринеотображение поля дискриминатора).

Я могу успешно подключиться кpreDeserializeEvent- так, может быть, можно сделать некоторые переключения / дела там (или с помощью)?

Моя модель вкратце (абстрактный класс):


Один из подклассов


Еще один тест былне делает Модульный класс рефератов и создание собственного статического метода

/**
 *
 * @Serializer\HandlerCallback("json", direction="deserialization")
 * @param JsonDeserializationVisitor $visitor
 */
public static function deserializeToObject(JsonDeserializationVisitor $visitor)
{
  // modify visitor somehow to return an instance of the desired inherited module class??
}

есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос