Java 开发 2.0: 使用 Amazon SimpleDB 实现云存储,第 2 部分:使用 SimpleJPA 实现简单对象持久化
2010-09-16 00:00:00 来源:WEB开发网在 清单 3 中,我使用 @OneToMany 注释来标注 getRunners 函数。我也在实例 Runner 的 race 属性上定义了一个关系。
在清单 4 中,我用类似的方法注释了 Runner 对象的 getRace 函数。
清单 4. JPA 注释的 Runner
@Entity
public class Runner {
private String name;
private String ssn;
private Race race;
@ManyToOne
public Race getRace() {
return race;
}
//other setters and getters left out...
}
大多数数据存储(关系型或非关系型)都需要某种描述数据唯一性的方法。所以如果我将这两个对象存储到数据存储中,我至少需要给它们添加 ID。在清单 5 中,我添加一个类型为 BigInteger 的 id 属性到 Race 域对象。在 Runner 对象中我会使用相同的做法。
清单 5. 给 Race 添加一个 ID
@Entity
public class Race {
private String name;
private String location;
private double distance;
private List<Runner> runners;
private BigInteger id;
@Id
public BigInteger getId() {
return id;
}
@OneToMany(mappedBy = "race")
public List<Runner> getRunners() {
return runners;
}
//other setters and getters left out...
}
清单 5 中的 @Id 注释并没有关于 ID 是如何管理的信息。这样程序就会假设由我手动管理这个 ID,而不是使用 EntityManager 来管理。
更多精彩
赞助商链接