Генерация кода AndroMDA maven и аннотации JPA - PullRequest
2 голосов
/ 11 января 2010

Я использую плагин AndroMDA для maven для генерации кода из диаграммы uml, созданной в MagicDraw.

Когда код сгенерирован, AndroMDA удаляет аннотацию JPA для слоя сохраняемости. Я думаю, что в процессе компиляции AndroMDA использует стратегии именования для определения имен таблиц и столбцов для базы данных.

Я хочу определить, как AndroMDA обрабатывает эти аннотации JPA, потому что мне нужно отображать имена этой базы данных на основе сущности UML и имен атрибутов.

Я размышлял, есть ли API AndroMDA, который я мог бы использовать для этого, предоставив ему диаграмму uml. Или, по крайней мере, узнать стратегии именования, используемые AndroMDA для достижения этой цели.


AndroMDA в процессе компиляции разрабатывает аннотации JPA для сущностей, атрибутов и т. Д., Которые написаны в моих классах java в соответствии с рядом правил, существующих в картридже EJB3 AndroMDA. (Дальнейшая база данных создается с использованием этих аннотаций JPA).

Я хочу создать программу, которая возвращает мне те же имена таблиц и атрибутов, которые были записаны в аннотациях JPA, путем предоставления ему файла .xml диаграммы uml проекта.

Я надеялся, что смогу использовать преимущества картриджа EJB3 для генерации этих таблиц и имен атрибутов в моей программе. Одним из способов может быть использование API-интерфейса AndroMDA, который делает это (если он завершается), или, по крайней мере, реализация тех же правил, которые используются в этом случае картриджем EJB3.

Для большей наглядности, например:

Если в моей модели uml у меня есть объект с именем «CompanyGroup», AndroMDA сгенерирует следующий код для определения класса:

@javax.persistence.Entity

@javax.persistence.Table (name = " COMPANY_GR ")

Открытый класс CompanyGroup реализует java.io.Serializable, Comparable <<strong> CompanyGroup >

Это всего лишь пример (не реальный случай), но, тем не менее, способ, которым AndroMDA выполняет перевод из « CompanyGroup » в « COMPANY_GR », должен быть где-то указан .

Надеюсь, это объяснение достаточно полезно.

Спасибо.

1 Ответ

0 голосов
/ 12 января 2010

Насколько я знаю, плагин AndroMDA Maven - это просто оболочка для платформы AndroMDA. Поэтому, если вы хотите что-то настроить, я думаю, что вам нужно будет сделать это на уровне «картриджа» (и вопрос на самом деле является скорее вопросом AndroMDA, чем вопросом Maven).

Не уверен, какой из них вы используете для создания сущностей JPA (это картридж EJB3?), Поскольку вы не предоставили никаких подробностей, но вы знаете, где искать. Посмотрите 10 шагов, чтобы написать картридж , если вам нужно какое-то руководство.

...