2010-01-11 112 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