Java GAE一对多关系JDO示例
我阅读了关于JDO的GAE文档,但没有找到适合我的场景的示例。请帮帮我 我有两个JDO类,比如Java GAE一对多关系JDO示例,java,class,google-app-engine,persistence,jdo,Java,Class,Google App Engine,Persistence,Jdo,我阅读了关于JDO的GAE文档,但没有找到适合我的场景的示例。请帮帮我 我有两个JDO类,比如A和B“A”类与“B”具有一对多关系。这种关系是不相关的。类“A”和“B”具有以下结构(为了简单起见,我不使用注释) A类{ 私有字符串名称; 私有字符串id;//主键 私人名单b; …接球手 } B类{ 私钥;//主键 私有字符串id;//这是类A的属性 私有字符串数据; } 现在,我的场景是,首先,我逐个创建类“A”对象,并使用Persistent manager将其保存到数据存储中。为此,存储“
A
和B
<代码>“A”类与“B”
具有一对多关系。这种关系是不相关的。类“A”
和“B”
具有以下结构(为了简单起见,我不使用注释)
A类{
私有字符串名称;
私有字符串id;//主键
私人名单b;
…接球手
}
B类{
私钥;//主键
私有字符串id;//这是类A的属性
私有字符串数据;
}
现在,我的场景是,首先,我逐个创建类“A”
对象,并使用Persistent manager将其保存到数据存储中。为此,存储“列表b
”将为空,因为我没有相关数据
在此之后,假设我提供了一个表单,该表单有两个字段,一个用于类“a”
的“id”
属性,另一个用于“someData
”attibute。在本例中,用户提供类“A”
的一个存储对象的“id”
。当用户提交结果时,我必须创建一个类“B”
对象并将其保存到数据存储,还必须将其添加到相应类“a”
对象的列表中。我希望你明白我想做什么
现在我的问题是,我必须使用什么方法来维护JDO类的一对多关系。我必须首先根据表单中提供的“id”
检索类“A”
对象,在获取对象后,我会得到“B”类对象列表,并在列表中添加一个“B”
类对象,然后保存类“A”
对象(因为对象附加到PM,它会自动保存)另一种方法是,我只需创建类“B”
对象,并使用PM将其保存到数据存储中
如果仅仅创建B
类对象并将其保存到数据存储中,则关系是持久的。当我得到类A
对象时,我会简单地说一句话“B的列表”
类对象是否有链接到类“A”对象的所有对象(因为B类有属性,它是类A
的主键)
谢谢在我看来,位于的GAE/J文档应该对您有所帮助
因为A
和B
之间的关系是无主的,所以所有A
和B
实例都位于单独的实体组中。因此,您必须执行两个单独的持久性操作来创建/更新/删除B
的实例,并相应地更新A
的相关实例
这有用吗
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;
}