Обновление null атрибута на UI

Добрый день !
Версия jmix: 2.5.1

Что имеем:
Экран редактирования edit сущности, которая имеет вложенные сущности.
Т.е. Entity1 имеет в себе поле с Entity2, Entity2 в свою очередь имеет поле с Entity3.

Форма редактирования подымается под Entity1, все атрибуты на экран выводятся используя точку.

Проблемый сценарий:
Если поле в entity1.entity2.someField изначально имело значение, и мы его обнуляем, то при завершении операции на UI останется старое значение, хотя в БД значение уже обнулилось.
Если мы заново прогрузим эту сущность, например найдем ее через поиск - значение подтянется верное - null.
Тоже поведение для поля entity1.entity2.entity3.someField

Если значение изначально было null либо было каким то существенным (не null) и мы обновляем его на существенное значение - то новое значение поля сразу отобразится на UI.

фетч план выглядит так

<collection id="entity1Dc"
                    class="...Entity1">
            <fetchPlan extends="_base">
                <property name="entity2" fetchPlan="_base">
                    <property name="entity3" fetchPlan="_base"/>
                </property>
            </fetchPlan>

то есть связанные сущности явно добавлены в фетч план.

Судя по логам все запросы в БД проходят симметрично, движок в обоих случаях вычитывает данные из БД, но в проблемном не отображает.

Еще пару сценариев для уточнения:

  1. если параметр меняется на основной сущности entity1.someField, то проблемы с null значением не возникает - оно сразу отображается на UI(отсутствие значение).
  2. если на связанной сущности entity1.entity2.someField1 меняем на null, а другое поле entity1.entity2.someField2 меняем на существенное значение в одной операции, то на UI someField2 обновится сразу, а someField1 - останется старый.

Добрый день!
Не могли бы вы сделать тестовый проект с минимальными тестовыми данным в HSQL, и упаковать его задачей zipProject?
Чтобы быть уверенными что мы говорим об одном и том же кейсе.

С уважением,
Константин

Здравствуйте! Тестовый проект - https://drive.google.com/file/d/1Po1SAyqto0RYyzzAsHGeB4Qr2gxmI_fe/view?usp=drive_link

Чтобы воспроизвести ошибку необходимо:

  1. на форме пользователя удалить значение Product Name
  2. задать значение Product Name
  3. снова удалить значение Product Name
  4. значение на UI не удалится

при этом поля самой сущности юзера, например email в таком сценарии отрабьатывают ОК

Здравствуйте!

Выглядит как бага, завёл задачу на исправление. Спасибо, что сообщили.
Наблюдать за прогрессом решения задачи вы сможете по ссылке: DataGrid doesn't update association entity attributes when editing in dialog mode · Issue #4527 · jmix-framework/jmix · GitHub

С уважением,
Дмитрий