Разделение файла JDL для пошагового расширения модели

Недавно созданное приложение JHipster уже содержит базовую модель (например, с сущностью User), позвольте назвать ее m0. Я расширил m0, определив модель m1 с помощью JHipster Domain Language (JDL) и сгенерировав сущности. Для уровня авторизации m1 должен был ссылаться на пользователя в m0. Я смог добиться этого, определив сущность User в файле m1.jdl следующим образом:

entity User{}

Уже существующий объект User не был регенерирован, только ссылка на него из m1 - отлично!

Поскольку m1 необходимо регулярно расширять новыми сущностями, было бы мечтой использовать тот же шаблон для m2, m3 ссылаясь на сущность в m1. Но когда я определяю AnM1Entity в m2.jdl следующим образом:

entity AnM1Entity{}

К сожалению, AnM1Entity {} создается повторно, и все атрибуты, определенные в m1.jdl для AnM1Entity, теряются.

Почему пользователь не регенерируется, а AnM1Entity регенерируется? Есть ли способ пропустить генерацию AnM1Entity?

Или есть еще один способ расширить модели приложений JHipster удобным способом?

Благодарность


person MoritzTheile    schedule 06.06.2020    source источник


Ответы (1)


Пользователь никогда не создается, потому что это не объект JHipster, то же самое для Authorities и всех других предопределенных классов, которые сопоставлены с таблицами из исходной схемы базы данных.

JDL не поддерживает то, что вы хотите.

Если ваша цель - защитить внесенные вручную изменения от перезаписи при повторной генерации, вам следует взглянуть на то, что сообщество называет параллельным подходом:

В качестве альтернативы вы можете положиться на git, всегда генерируя в ветке и сливая на master с параметрами стратегии слияния git.

person Gaël Marziou    schedule 06.06.2020
comment
Возвращение поздно, но оказалось, что параллельный подход открыл дверь для достижения возможности расширять модель с течением времени. Спасибо за ссылки. - person MoritzTheile; 23.09.2020