【发布时间】:2011-01-03 19:52:30
【问题描述】:
我正在使用适用于 maven 的 AndroMDA 插件从 MagicDraw 中制作的 uml 图生成代码。
当代码生成时,AndroMDA 为持久层设计 JPA 注释。我认为在编译过程中,AndroMDA 使用命名策略来确定数据库的表名和列名。
我想确定 AndroMDA 如何设计这个 JPA 注释,因为我需要根据 UML 实体和属性名称显示这个数据库名称。
我正在考虑是否有一个 AndroMDA 的 API,我可以通过给它提供 uml 图来使用它来做到这一点。或者至少,了解 AndroMDA 用于实现这一目标的命名策略。
AndroMDA 在编译过程中根据 AndroMDA 的 EJB3 插件中存在的一系列规则为我的 java 类中编写的实体、属性等设计 JPA 注释。 (进一步的数据库是使用这些 JPA 注释创建的)。
我想创建一个程序,通过给它一个项目的 uml 图的 .xml 文件,返回我在 JPA 注释上写的相同的表和属性名称。
我希望我可以利用 EJB3 卡带在我的程序中生成这些表和属性名称。一种方法是使用 AndroMDA 的 API 来执行此操作(如果它退出),或者至少通过实现 EJB3 卡式盒为此使用的相同规则。
为了更直观,例如:
如果在我的 uml 模型中有一个名为“CompanyGroup”的实体,AndroMDA 将为类定义生成以下代码:
@javax.persistence.Entity
@javax.persistence.Table(name = "COMPANY_GR")
公共类CompanyGroup实现java.io.Serializable、ComparableCompanyGroup >
这只是一个示例(不是真实案例),但 AndroMDA 如何将“CompanyGroup”转换为“COMPANY_GR”的方式必须是在某处指定。
希望这个解释足够有用。
谢谢。
【问题讨论】:
标签: java maven-2 jpa code-generation