【问题标题】:AndroMDA maven code generation and JPA AnnotationsAndroMDA maven 代码生成和 JPA 注释
【发布时间】: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


    【解决方案1】:

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

    虽然您没有提供任何详细信息,但不确定您使用的是哪一个来生成 JPA 实体(它是 EJB3 卡式盒吗?),但是,您知道在哪里查找。如果您需要一些指导,请查看10 steps to write a cartridge

    【讨论】:

    • 感谢您的回答。很抱歉没有提供太多细节。是的,正在使用的磁带是 EJB3 磁带。到目前为止,我已经在 AndroMDA EJB3 插件的存储库中找到了一系列模板。在我的 java 类中编写 JPA 注释的模板是 Entity.vsl。在这个模板中,你可以找到类似这样的代码语句:@javax.persistence.Entity @javax.persistence.Table(name = "${entity.tableName}") 正如你所看到的,这个模板提供了一个对象,我仍然不知道 AndroMDA 在哪里构建它。感谢您的帮助
    • 对不起,我不明白/不明白你在找什么 :)
    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多