Дизайнер фетч-планов
Studio предоставляет визуальный конструктор для управления фетч-планами.
Эта функция свободно доступна для использования в небольших проектах с количеством сущностей и ролей до 10. В более крупных проектах она требует RAD или Enterprise подписки подписку. |
Сначала вам нужно создать файл конфигурации, используя меню в Окне инструментов Jmix.

После этого, в дизайнере будет создан и открыт файл fetch-plans.xml
. Вкладка Structure отображает список фетч-планов, определенных в этом файле конфигурации, и позволяет создавать определения фетч-планов визуально.
Чтобы создать новый фетч-план, используйте меню New →Advanced в Окне инструментов Jmix, которое будет содержать пункт Fetch Plan. Также можно использовать используйте кнопку "плюс" на вкладке Structure.

Диалоговое окно создания фетч-плана содержит следующие поля:
-
Entity – имя сущности, для которой создается фетч-план.
-
Name – имя нового фетч-плана.
-
Extends – встроенный или другой настроенный вами фетч-план, атрибуты которого расширяются данным фетч-планом.
Полный список атрибутов текущей сущности отображается в дереве под полями. Вы можете выбрать, какие атрибуты будут включены в фетч-план.
Если ваш фетч-план расширяет другой фетч-план, все унаследованные атрибуты будут выбраны и отключены. При выборе ссылочного атрибута на правой панели появятся следующие свойства:

-
Fetch plan – необязательный фетч-план для загрузки ссылаемой сущности. Рекомендуется использовать ссылки на именованные фетч-планы, поскольку это упрощает поддержку сложных фетч-планов.
-
Fetch – необязательное свойство ссылочных атрибутов, которое определяет, как извлекать связанную сущность из базы данных.
-
AUTO
– оптимальный режим будет выбран в зависимости от типа связи. -
UNDEFINED
– извлечение будет выполняться в соответствии с правилами JPA, что фактически означает загрузку отдельным select-запросом. -
JOIN
– загрузка в том же select-запросе путем объединения таблиц. -
BATCH
– запросы связанных объектов будут оптимизироваться пакетами.Если атрибут Fetch не указан, применяется режим
AUTO
.
-