Дизайнер фетч-планов

Studio предоставляет визуальный конструктор для управления фетч-планами.

Для этой функции требуется подписка RAD или Enterprise. Если у вас нет подписки, см. как получить пробную версию.

Сначала вам нужно создать файл конфигурации, используя меню в Окне инструментов Jmix.

fetch menu

После этого, в дизайнере будет создан и открыт файл fetch-plans.xml. Вкладка Structure отображает список фетч-планов, определенных в этом файле конфигурации, и позволяет создавать определения фетч-планов визуально.

Чтобы создать новый фетч-план, используйте меню New →Advanced в Окне инструментов Jmix, которое будет содержать пункт Fetch Plan. Также можно использовать используйте кнопку "плюс" на вкладке Structure.

fetch edit

Диалоговое окно создания фетч-плана содержит следующие поля:

  • Entity – имя сущности, для которой создается фетч-план.

  • Name – имя нового фетч-плана.

  • Extendsвстроенный или другой настроенный вами фетч-план, атрибуты которого расширяются данным фетч-планом.

Полный список атрибутов текущей сущности отображается в дереве под полями. Вы можете выбрать, какие атрибуты будут включены в фетч-план.

Если ваш фетч-план расширяет другой фетч-план, все унаследованные атрибуты будут выбраны и отключены. При выборе ссылочного атрибута на правой панели появятся следующие свойства:

fetch extend
  • Fetch plan – необязательный фетч-план для загрузки ссылаемой сущности. Рекомендуется использовать ссылки на именованные фетч-планы, поскольку это упрощает поддержку сложных фетч-планов.

  • Fetch – необязательное свойство ссылочных атрибутов, которое определяет, как извлекать связанную сущность из базы данных.

    • AUTO – оптимальный режим будет выбран в зависимости от типа связи.

    • UNDEFINED – извлечение будет выполняться в соответствии с правилами JPA, что фактически означает загрузку отдельным select-запросом.

    • JOIN – загрузка в том же select-запросе путем объединения таблиц.

    • BATCH – запросы связанных объектов будут оптимизироваться пакетами.

      Если атрибут Fetch не указан, применяется режим AUTO.