Java 使用类的实例列表持久化类A

Java 使用类的实例列表持久化类A,java,google-app-engine,jdo,Java,Google App Engine,Jdo,看看下面的代码示例 @PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true") public class A implements Serializable { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) @Extensi

看看下面的代码示例

    @PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true") 
    public class A implements Serializable
    {
        @PrimaryKey  
        @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)  
        @Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")  
        private String key;
        @Persistent
        private String m_Name;
        @Persistent(mappedBy = "m_A")
        private List<B> m_ListOfB;
//...
    }



       @PersistenceCapable(identityType = IdentityType.APPLICATION,detachable="true") 
        public class B implements Serializable
        {
            @PrimaryKey
            @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
            @Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
            private String key;
            @Persistent 
            private A m_A;
            @Persistent
        private List<B> m_Children;
//...
}
在构造函数中正确地设置了列表,我有一个默认的空构造函数,用于Serializable not fail

也许这是索引的问题? datastore-index.xml如下所示

A a = new A("a");
B b = new B("b");
b.add_to_children(new B("child_of_b"));
a.add_to_list(b);

PersistenceManager pm = PMF.get().getPersistenceManager();
pm.makePersistent(a);
pm.close();
<datastore-index kind="B" ancestor="true" source="manual">
        <property name="m_ListOfB_INTEGER_IDX" direction="asc"/>
    </datastore-index>

不确定m_儿童的索引应该是什么样子,或者我是否需要添加它

有什么想法吗?
谢谢

如果你能发布你为持久化对象而编写的代码,我想这会很有帮助。我删除了我的帖子,因为我误读了这个问题。对不起,数据存储查看器很弱。即使实体根本没有显示在查看器中,也可以正确存储它们。您不需要定义任何索引来存储数据。尝试编写一些代码来获取B对象及其子对象,看看它是否有效。有时感觉使用数据存储需要很大的信心!