Entity template
Шаблон для сущности упрощает создание похожих сущностей, позволяя наследовать неизменённые свойства из шаблона. Шаблоны размещаются вот здесь:
/be4/src/com/beanexplorer/enterprise/metadata/model/templates/
Сохраняются в обычных yaml-файлах, как сущности. Но следует помнить, что имя шаблона не совпадает с именем реальной сущности. Поэтому в тексте запросов надо использовать Freemarker-выражения для обращения к текущей сущности. Например, так:
SELECT ${entity.primaryKey} AS "Code", name AS "Name" FROM ${entity.name}
Для создания нового шаблона надо расположить его в том же каталоге и зарегистрировать в списке Templates.TEMPLATES
. При создании или изменении шаблона следует прогнать юнит-тест TemplatesTest
. Если упал, скорее всего написан некорректный yaml.
Для использования шаблона необходимо при описании сущности указать template: <имя шаблона>
. Затем переопределять то, чего в шаблоне не хватает. Пример есть в модуле financial:
/beclipse/modules/financial/src/meta/entities/intangibleTypes.yaml
На текущий момент в шаблоне никак не задать группу ролей. Отдельные роли можно, а группы придётся определять в самой сущности. Также пока недоделано сохранение сущности, содержащей ссылку на шаблон (будет сделано).
Использовать шаблон можно только для сущностей, определённых в текущем проекте (в meta/entities). Нельзя задавать шаблон в meta/modules, так как сущности оттуда уже кастомизируют сущность из соответствующего модуля и не могут одновременно наследовать шаблон.