2010-01-11 108 views
2

我正在使用AndroMDA插件Maven从MagicDraw中制作的uml图生成代码。AndroMDA maven代码生成和JPA注释

当代码生成时,AndroMDA为persitence层设置JPA注释。我认为在编译过程中,AndroMDA使用命名策略来确定DataBase的表名和列名。

我想确定AndroMDA如何设置此JPA注释,因为我需要显示基于UML实体和atribut名称的此DataBase名称。

我是关于如果有一个AndroMDA的API,我可以用它来通过给它的uml图做到这一点。或者至少要了解AndroMDA使用的命名策略来实现这一点。


AndroMDA的在编译过程设计JPA注解的实体,属性等被下了一系列的存在AndroMDA的的EJB3仓内的规则写在我的Java类。 (进一步的数据库是使用这些JPA注释创建的)。

我想创建一个程序,通过为JPA注释写入相同的Table和Attributes名称,并为其提供项目的uml图的.xml文件。

我希望能够利用EJB3盒式磁带生成这些表和属性名称与我的程序。一种方法可能是使用AndroMDA的API来执行此操作(如果它退出),或者至少通过实现EJB3盒式磁带所使用的相同规则。

更说明,例如:

如果我的UML模型我有一个名为“CompanyGroup”实体,AndroMDA的会产生类定义如下代码:

@ javax.persistence。实体

@ javax.persistence.Table(NAME = “COMPANY_GR”)

公共类CompanyGroup实现java.io.Serializable,可比< CompanyGroup>

这仅仅是一个例子(不是一个真正的情况下),但尽管如此,方式AndroMDA的怎么办从“CompanyGroup”到“COMPANY_GR翻译“必须在某处指定。

希望这个解释很有用。

谢谢。

回答

0

据我所知,AndroMDA Maven插件只是AndroMDA框架的封装。所以,如果你想定制任何东西,我认为你需要在“墨盒”级别上进行(问题实际上更多的是AndroMDA问题而不是Maven问题)。

因为您没有提供任何细节,所以不知道您使用哪一个来生成JPA实体(它是EJB3盒式磁带?),但是,您知道在哪里寻找。如果你需要一些指导,请看10 steps to write a cartridge

+0

感谢您的回答。抱歉没有提供更多细节。 是的,使用的墨盒是EJB3墨盒。 到目前为止,我在AndroMDA EJB3盒式磁带库中发现了一系列模板。 在我的java类中写入JPA注释的模板是Entity.vsl。 在这个模板,你可以发现代码的句子是这样的: @ javax.persistence.Entity @ javax.persistence.Table(NAME = “$ {} entity.tableName”) 正如你所看到的,这个模板一个对象的提要,我仍然不知道AndroMDA在哪里构建它。 感谢您的帮助 – ArsenioM 2010-01-12 14:06:07

+0

对不起,但我不明白你在找什么:) – 2010-01-12 14:35:32