WEB开发网
开发学院软件开发Java Java 开发 2.0: 使用 Amazon SimpleDB 实现云存储... 阅读

Java 开发 2.0: 使用 Amazon SimpleDB 实现云存储,第 2 部分:使用 SimpleJPA 实现简单对象持久化

 2010-09-16 00:00:00 来源:WEB开发网   
核心提示: 清单 1. 一个简单的 Race 对象 publicclassRace{privateStringname;privateStringlocation;privatedoubledistance;privateList<Runner>runners;//settersandgette

清单 1. 一个简单的 Race 对象

public class Race { 
 private String name; 
 private String location; 
 private double distance; 
 private List<Runner> runners; 
 
 //setters and getters left out... 
} 

在 清单 1 中,我给 Race 对象设置了 4 个属性,最后一个是一个选手 Collection。接下来,我可以创建一个简单的 Runner 对象(如清单 2 所示),它包含每位选手的姓名(现在我将尽量保持简单),与他/她所参加的 Race 实例相关的 SSN。

清单 2. 与 Race 相关的一个简单的 Runner

public class Runner { 
 private String name; 
 private String ssn; 
 private Race race; 
 
 //setters and getters left out... 
} 

您可以从 清单 1 和 2 看到,我在选手和比赛之间逻辑上建立了一个多对一的关系。在实际情况中,可能多对多关系更准确些(选手一般会参加多个比赛),但是这里这样做是为了简单起见。另外,现在我也忽略构造函数、setter 和 getter。我将在后面向您介绍。

JPA 中的注释

要使这两个对象能够使用 SimpleJPA 并不是很难。首先,我需要通过为每个对象添加 @Entity 注释来将它们变成可持久化的。我也需要在 Race 对象中使用 @OneToMany,在 Runner 对象中使用 @ManyToOne 来正确定义它们的关系。

@Entity 注释是在类上标注的,而关系注释是在 getter 函数上标注的。这些注释见清单 3 和 4:

清单 3. JPA 注释的 Race

@Entity 
public class Race { 
 private String name; 
 private String location; 
 private double distance; 
 private List<Runner> runners; 
 
 @OneToMany(mappedBy = "race") 
 public List<Runner> getRunners() { 
 return runners; 
 } 
 
 //other setters and getters left out... 
} 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Java 开发 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接