Я использую Etxbase для создания расширения для TYPO3.
[*]TYPO3 v.11 [*]Extbase [*]Жидкость
У меня есть модель А, связанная с моделью Б. Внутри базы данных B подключился к A как "tx_vendor_ext_a {myB int(11) unsigned}".
A отображается во внешнем интерфейсе с помощью контроллера действий и Fluid. AController имеет действия «Список», «Показать», «Редактировать», «Удалить» и «Создать».
Когда я вызываю свой editAction(A $a) изменяю некоторые значения A и сохраняю (обновляю Action(A $newA)) все работает нормально. Но когда я хочу изменить значения A.myB вместо обновления myB, Extbase создает новый объект и сохраняет новый объект с новым UID.
У меня есть другой пример, в котором дочерний объект обновляется, а не воссоздается. Отладка родителя в обновлении Действие показывает:

Но когда я отлаживаю тот, который не работает, он показывает:

Обратите внимание на флаг временной сущности.
Моя жидкость выглядит так в обоих случаях
Аннотации в классе модели:
поле: @var \ven\ext\Domain\Model\A
getter: @return \ven\ext\Domain\Model\A
установщик: @param \ven\ext\Domain\Model\A @return void
Аннотации в контроллере:
действие: @param \ven\ext\Domain\Model\A $newA
Должен признаться, я действительно не знаю, как extbase отображает свойства формы в объект домена.
Итак, вот мои вопросы:
Как extbase решает, должен ли данный объект быть временным объектом или модифицированным/постоянным объектом?
Где я мог допустить ошибку, из-за которой extbase создала новый объект вместо обновления старого?