快速业务通道

使用RSA V7.5中的UML-to-JPA转换加速JPA开发 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
OINED 情况下,父类对应的表中会有一个 Discriminator 字段用于标识不 同的子类类型。同时可以为每个子类应用 Discriminator stereotype 以配置该 子类实例在父表 Discriminator 的字段中的值,如果不配置,就会默认使用子 类的名字。在JOINED情况下,您可以通过将父类的 ID 设为 protected 来避免 子类重复添加 ID 字段,这样父表和子表使用相同名字的 ID 字段。通常情况下 ,JOINED 的策略使用较多,它可以消除数据库表中的冗余字段,因此规范化级 别比较高。如图 7,这里我们对 InvoiceItem 配置 Inheritance 的 strategy 就是 JOINED。

图 7. 配置 InvoiceItem 的 Inheritance stereotype

使用RSA V7.5中的UML-to-JPA转换加速JPA开发(5)

时间:2010-11-20 IBM 赵勇 黄若波 任静安

实体关联关系设置

实体之间的关联关系可以通过选择类图中对象的关 系(类之间的关联线),并应用 RelationshipOptions stereotype 来进行配置 。如图 8,您可以在 UML 编辑器中选择 Invoice 和 InvoiceItem 之间的关联 线来应用“RelationshipOptions”这个 stereotype。

图 8. 对实体关联关系进行 JPA 配置

如图 8,RelationshipOptions stereotype 有三个可配置的值,我们的配置 情况见表 1:

表 1. Invoice 和 InvoiceItem 的关联关系的 JPA 配置

属性 属性含义 属性值设置
cascade 配置关联关系的增删查改的级联操作 因为Invocie对 InvoiceItem的完全控制关系,我们这里配置为ALL, 在Invocie发生任何变化时,JPA 都会级联的对该 Invoice 的所有 InvoiceItem 执行同样的操作。
fetch 配置加载方式,分为早加 载和懒加载 由于 Invoice 对 InvoiceItem的关系比较紧密,这里配置 为早加载(EAGER)。
optional 是否可选 设置为 false,必选。

默认情况下,JPA 实体关联关系是没有级联设置的,加载方式也是早加载,如果您不想修改默认值 ,就不需要应用该 stereotype。请按照同样配置 Invoice 和 Customer 的关系 ,请将级联配置为无需级联,将加载改为懒加载,Optional也为 false。

到此为止我们介绍了一些基本的 JPA 注解如何通过 JPA Transformation 的 profile 进行配置。在 RSA7.5 中,大部分常用的的 JPA 注解都可以通过配置 JPA Transformation profile 的 stereotype 来自动生成 。此时,我们的 UML 模型已经附加了较为完整的 JPA 语义,已经可以使用 JPA Transformation 进行转换了。

应用 UML-to-JPA 模型转换

创建 和配置转换

在 RSA 中的选择菜单栏的“Modleing”- >“Transform”->“New Configuration”菜单, 在弹出的对话框中选择” UML-to-JPA”转换,某些情况下您需要选 择“Show all Transformation s”选择框才能在下拉列表中找到该 转换,如图 9,此时需要在弹出的”Confirm Enablement”对话框中 选择OK按钮。

图 9. 选择 UML-to-JPA 转换

使用RSA V7.5中的UML-to-JPA转换加速JPA开发(6)

时间:2010-11-20 IBM 赵勇 黄若波 任静安

在 Name 输入框中输入转换的名称“SampleModel2 JPA”,点击 Next,如图 10,在 Source and Target 页面中选择 “SampleModel”作为 Source,点击“Create Target Container..”按钮以创建一个 JPA 项目作为转化生成的 JPA 实体类的容 器。

图 10. 选择创建一个 JPA 项目作为转换目标的容器

如图

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号