Работа с компонентом treeDataGrid

Пытаюсь разобрать с компонентом treeDataGrid,хочу сделать структуру дерева Производство-позиции-узлы но документации маловато для понимаю работы новичку , вот что сделал , создал две jra сущности- Производство: (здесь указал в свойстве Parent таблицу Position)
image

Позиции:
image

При генерации View для Manufacture по структуре создалась все как надо , даже добавляется но не отображается в виде дерева, при этом счетчик строк растет :

image

вот код самого отображения

<view xmlns="http://jmix.io/schema/flowui/view"
      xmlns:c="http://jmix.io/schema/flowui/jpql-condition"
      title="msg://manufactureListView.title"
      focusComponent="manufacturesDataGrid">
    <data>
        <collection id="manufacturesDc"
                    class="com.company.untitled.entity.Manufacture">
            <fetchPlan extends="_local">
                <property name="position" fetchPlan="_local">
                    <property name="number" />
                </property>
            </fetchPlan>
            <loader id="manufacturesDl" readOnly="true">
                <query>
                    <![CDATA[select e from Manufacture e]]>
                </query>
            </loader>
        </collection>
    </data>
    <facets>
        <dataLoadCoordinator auto="true"/>
        <urlQueryParameters>
            <genericFilter component="genericFilter"/>
            <pagination component="pagination"/>
        </urlQueryParameters>
    </facets>
    <actions>
        <action id="selectAction" type="lookup_select"/>
        <action id="discardAction" type="lookup_discard"/>
    </actions>
    <layout>
        <genericFilter id="genericFilter"
                       dataLoader="manufacturesDl">
            <properties include=".*"/>
        </genericFilter>
        <hbox id="buttonsPanel" classNames="buttons-panel">
            <button id="createButton" action="manufacturesDataGrid.create"/>
            <button id="editButton" action="manufacturesDataGrid.edit"/>
            <button id="removeButton" action="manufacturesDataGrid.remove"/>
            <simplePagination id="pagination" dataLoader="manufacturesDl"/>
        </hbox>
        <treeDataGrid id="manufacturesDataGrid"
                      width="100%"
                      minHeight="20em"
                      dataContainer="manufacturesDc"
                      hierarchyProperty="position"
                      columnReorderingAllowed="true">
            <actions>
                <action id="create" type="list_create"/>
                <action id="edit" type="list_edit"/>
                <action id="remove" type="list_remove"/>
            </actions>
            <columns resizable="true">
                <column property="number"/>
                <column property="name"/>
            </columns>
        </treeDataGrid>
        <hbox id="lookupActions" visible="false">
            <button id="selectButton" action="selectAction"/>
            <button id="discardButton" action="discardAction"/>
        </hbox>
    </layout>
</view>


и контроллер к нему:
package com.company.untitled.view.manufacture;

import com.company.untitled.entity.Manufacture;
import com.company.untitled.view.main.MainView;
import com.vaadin.flow.router.Route;
import io.jmix.flowui.view.*;


@Route(value = "manufactures", layout = MainView.class)
@ViewController(id = "Manufacture.list")
@ViewDescriptor(path = "manufacture-list-view.xml")
@LookupComponent("manufacturesDataGrid")
@DialogMode(width = "64em")
public class ManufactureListView extends StandardListView<Manufacture> {
}

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

В вашем случае свойство parent в сущности Manufacture обозначает, что сущность Manufacture является наследником сущности Position в контексте JPA.

Чтобы отобразить сущность в treeDataGrid необходимо, чтобы сущность имела ссылку на себя. Об этом написано в документации: treeDataGrid :: Jmix Documentation

Таким образом, атрибут, являющийся ссылкой на эту же сущность должен быть указан в hierarchyProperty.

Если значение атрибута hierarchyProperty равно null, то экземпляр отображается на верхнем уровне таблицы treeDataGrid. Если значение атрибута hierarchyProperty не равно null, то экземпляр будет отображён в соответствующем узле. Важно, чтобы родительская сущность также была отображена в таблице хоть на каком-нибудь уровне. Иначе будет такая же проблема, как у вас на скриншоте. Т.е. сущности загрузились, они находятся в dataContainer и готовы к отображению, однако не могут быть отображены в treeDataGrid корректно, так как их родительские сущности не могут быть отображены в treeDataGrid

Ознакомьтесь с примером отображения в нашем онлайн-демо приложении: UI Samples::treeDataGrid

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