【发布时间】:2013-11-11 03:56:36
【问题描述】:
我阅读了有关 JDO 的 GAE 文档,但没有找到适合我的场景的示例。请帮帮我。
我有两个 JDO 类,例如 A 和 B。 "A" 类与"B" 具有一对多的关系。这种关系是未欠的,也是不依赖的。 "A" 和 "B" 类具有以下结构(为简单起见,我不使用注释)
class A {
private String name;
private String id; // primary Key
private List<B> b;
..... getter setter
}
class B {
private Key key; // primary Key
private String id; // this is the attribute of the Class A
private String someData;
}
现在我的情况是,首先我一个一个地创建类"A" 对象,并使用持久管理器将其保存到数据存储中。对于这个存储“List<B> b”将是空的,因为我没有数据。
之后,假设我提供了一个表单,该表单具有两个字段,一个用于“A"”类的 "id" 属性,另一个用于“someData”属性。在此用户中,提供其中一个的"id" "A" 类的存储对象。当用户提交结果时,我必须创建一个 "B" 类对象并将其保存到数据存储中,并且还必须将其添加到其对应的 list of B 类 "A" 对象中。我希望你明白我想做什么。
现在我的问题是,我必须使用什么方法来维护 JDO 类的这种一对多关系。要么我必须首先根据表单中提供的"id" 检索类"A" 对象,在获取对象后我得到"list of B" 类对象并在列表中添加"B" 类对象,然后保存类"A" 对象(当对象附加到 PM 时,它会自动保存)或其他方法是我只创建类 "B" 对象并使用 PM 将其保存到数据存储中。
如果只是创建B 类对象并将其保存到数据存储中,则该关系是持久的。当我得到 A 类对象时,我很简单,"list of B" 类对象是否具有链接到类“A”对象的所有对象(因为 B 类具有属性,这是类 A 的主键)
谢谢
【问题讨论】:
标签: java class google-app-engine persistence jdo