我试图将Java对象持久化到GAE数据存储区.
我不确定如何持久化具有("非平凡")引用对象的对象.也就是说,假设我有以下内容.
public class Father {
String name;
int age;
Vector<Child> offsprings; //this is what I call "non-trivial" reference
//ctor, getters, setters...
}
public class Child {
String name;
int age;
Father father; //this is what I call "non-trivial" reference
//ctor, getters, setters...
}
Run Code Online (Sandbox Code Playgroud)
名称字段在每个类型域中都是唯一的,并且被视为主键.
为了保持"普通"(String,int)字段,我只需要添加正确的注释.到现在为止还挺好.但是,我不明白我应该如何坚持参考的自酿(儿童,父亲)类型.我是不是该:
Vector<Child> offsprings;变为Vector<String> offspringsNames;?如果是这种情况,我如何在运行时处理对象?我是否只是查询主键Class.getName,以检索refrenced对象?
put()操作时提供给我的实际密钥?那就Vector<Child> offsprings;变成Vector<Key> offspringsHashKeys;?我已经阅读了所有官方相关的GAE文档/示例.在整个过程中,它们始终保持"琐碎"引用,本地由数据存储区支持(例如,在留言簿示例中,仅限字符串和长整数).