我正在使用AndroMDA插件进行Maven从MagicDraw中创建的uml图生成代码。
生成代码后,AndroMDA将为持久层设计JPA批注。我认为,在编译过程中,AndroMDA使用命名策略来确定数据库的表名和列名。
我想确定AndroMDA如何设计此JPA批注,因为我需要基于UML实体和属性名称显示此数据库名称。
我在考虑是否有AndroMDA API,可以通过提供uml图来使用它。或者至少是要了解AndroMDA用来实现这一目标的命名策略。
AndroMDA在编译过程中,针对AndroMDA的EJB3组件中存在的一系列规则,设计了在我的java类中编写的Entities,Attributes等的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,Comparable
这只是一个示例(不是真实情况),但是,必须在某个地方指定AndroMDA如何将“ CompanyGroup”转换为“ COMPANY_GR”。
希望这个解释足够有用。
谢谢。
最佳答案
据我所知,AndroMDA Maven插件只是AndroMDA框架的包装。因此,如果您想自定义任何内容,我认为您需要在“弹药筒”级别进行操作(这个问题实际上更多地是AndroMDA问题而不是Maven问题)。
但是,由于您没有提供任何详细信息,但是您知道要查找的位置,因此不知道您正在使用哪一个来生成JPA实体(它是EJB3磁带盒吗?)。如果需要一些指导,请查看10 steps to write a cartridge。