Java开发2.0: 使用Amazon SimpleDB实现云存储,第2部分 - 编程入门网
— 不需要 XML。
JPA 所使用的两个主要的注释是 @Entity 和 @Id,这两个注释分别将一个 POJO 指定为持久化类,同时确定它的标识键。为了将我们的赛跑应用转换为 JPA,我们也将使用另外两个管理关系的注释:@OneToMany 和 @ManyToOne。 在本文的第 1 部分中,我已经向您介绍了如何持久化选手和比赛对象了。然而,我没有使用对象来表示这些实体 — 我只是使用了 Amazon 的原始 API 来存储这两个对象的属性。如果我希望对一个比赛和比赛选手的关系进行建模,那么我可以编写如清单 1 所示的代码: 清单 1. 一个简单的 Race 对象
在 清单 1 中,我给 Race 对象设置了 4 个属性,最后一个是一个选手 Collection。接下来,我可以创建一个简单的 Runner 对象(如清单 2 所示),它包含每位选手的姓名(现在我将尽量保持简单),与他/她所参加的 Race 实例相关的 SSN。 清单 2. 与 Race 相关的一个简单的 Runner
您可以从 清单 1 和 2 看到,我在选手和比赛之间逻辑上建立了一个多对一的关系。在实际情况中,可能多对多关系更准确些(选手一般会参加多个比赛),但是这里这样做是为了简单起见。另外,现在我也忽略构造函数、setter 和 getter。我将在后面向您介绍。 Java开发2.0: 使用Amazon SimpleDB实现云存储,第2部分(2)时间:2010-10-26 IBM Andrew GloverJPA 中的注释 要使这两个对象能够使用 SimpleJPA 并不是很难。首先,我需要通过为每个对象添加 @Entity 注释来将它们变成可持久化的。我也需要在 Race 对象中使用 @OneToMany,在 Runner 对象中使用 @ManyToOne 来正确定义它们的关系。 @Entity 注释是在类上标注的,而关系注释是在 getter 函数上标注的。这些注释见清单 3 和 4: 清单 3. JPA 注释的 Race
在 清单 3 中,我使用 @OneToMany 注释来标注 getRunners 函数。我也在实例 Runner 的 race 属性上定义了一个关系。 在清单 4 中,我用类似的方法注释了 Runner 对象的 getRace 函数。 清单 4. JPA 注释的 Runner
大多数数据存储(关系型或非关系型)都需要某种描述数据唯一性的方法。所以如果我将这两个对象存储到数据存储中,我至少需要给它们添加 ID。在清单 5 中,我添加一个类型为 BigInteger 的 id 属性到 Race 域对象。在 Runner 对象中我会使用相同的做法。 清单 5. 给 Race 添加一个 ID
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |