Я использую плагин 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 », должен быть где-то указан .
Надеюсь, это объяснение достаточно полезно.
Спасибо.