使用RSA V7.5中的UML-to-JPA转换加速JPA开发 - 编程入门网
Entity 的信息,对于 JPA Transformation 程序来说,它就会在 执行转换时将该 UML Class 模型转化为一个带 Entity 注解的 Java 类。
图 3. 为 UML Class 应用 Entity stereotype 使用RSA V7.5中的UML-to-JPA转换加速JPA开发(3)时间:2010-11-20 IBM 赵勇 黄若波 任静安Entity 构造型还允许用户进行一些参数的设置,如 Catalog,Schema,Name 等,默认的表名会和实体类的类型一致(不含 package 名),而 Schema 会和 ORM.XML 中定义的 Schema 一致,因为我们采用自上而下的模型,数据库会根据 JPA 的配置自动生成,为了简化开发,我们这里不需要进行特殊设置,实体 stereotype 的属性配置采用默认值。 JPA 要求每个 Entity 必须至少使 用一个 ID 字段来唯一标识,我们的模型使用简化的单个字段主键来简化开发。 如图 4,在类图中选中 Invoice 实体,选择 InvoiceNo 属性,在 Properties View 的 stereotypes 标签页,点击“Apply stereotypes”,选择 ID 和 GeneratedValue。这样就为 InvoiceNo 属性附加了 ID 的扩展,同时还 配置了自动生成值的功能。 图 4. 为实体配置 ID 和 GeneratedValuestereotype 请在属性配置页面中选择自动生成值的配置,这里我们选择“ID Entity”策略,说明生成的 ID 值是全局唯一的,参见图 5。请按照同样 的方法配置 InvoiceItem 的 itemID 和 Customer 的 CustomerNo。 图 5. 为 InvoiceNo 字段配置 stereotype 的属性 由于 JPA 会默认的将类名映射到表名,属性映射到表的字段,对象之间的关 系映射到表之间的外键关系,因此,经过以上的简单配置,我们的模型就可以在 最小程度上使用 JPA 的功能,是已经可以使用的 JPA 转换配置了,在开发快速 原型的时候,这样可以极大的简化我们的开发和配置工作。请按照同样方式配置 Cutomer 实体的 CutomerNo 和 InvoiceItem 的 itemID 的 ID 和 GeneratedValue stereotype。 使用RSA V7.5中的UML-to-JPA转换加速JPA开发(4)时间:2010-11-20 IBM 赵勇 黄若波 任静安配置 Entity 的 Column 大多数时 候,我们需要对实体的属性作出一些配置,这是就需要对类的属性应用 Column 这个 stereotype,如图 6 可见,所有 JPA 规范中对 Column 的规约,您都可 以在该 stereotype 的属性中配置,如字段的名称,长度,精度等。简化起见, 这里我们不对字段的名称做配置,一切使用默认值,系统所生成的数据库的表中 的字段名会和属性名称一致,这里我们会配置 Invoice 的所有 Decimal 类型的 属性的精度,如图 6,对于所有的 Decimal 类型,我们设置 scale 和 precision。Scale 表示小数点后面的位数,这里我们使用 2 位。Precision 表 示精度,这里我们用 12 位。同时请注意属性页中的 Column Definition 设置 ,您可以在此定义建表时创建此列的 DDL,使用该字段,您可以更灵活的配置实 体属性对应的数据库的表字段。对所有的字符串类型的属性,我们看见其默认的 长度是 255,这里我们采用默认值,如果有必要,您可以修改该配置。 图 6. 配置实体的 Column stereotype 实体继承关系设置 JPA 对于实体之间的继承关系是通过配置实体的 InheritanceType 构造型的 strategy 来实现,JPA 定义了以下三种配置方式: InheritanceType.SINGLE_TABLE:为类的继承体系采用同一个表,会容 纳所有子类的字段; InheritanceType.JOINED:为类继承体系中的每个 类创建不同的表,每个表只包含类中定义的列; InheritanceType.TABLE_PER_ Class。 在 JPA Transformation profile 中,您需要为父类应用 Inheritance stereotype 来配置以上策略,如 果不配置,系统的缺省值是 InheritanceType.SINGLE_TABLE。在 SINGLE_TABLE 和 J |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |