Java 在AppEngine数据存储中的列表中存储子类型对象
我正在尝试使用数据存储API创建单个序列对象列表。 (之所以将其放在一个列表中,是因为对象在写入时是有序的——它基本上就像一个美化的日志文件) 我的问题是,我想存储在列表中的东西是我定义的接口/抽象类的子类型 我有一个使用我的SQL的当前存储,如下所示: ID、组ID、序列号、子类的序列化字符串 我希望通过将其推入数据存储,我不必序列化,而是可以存储对象。但我现在有点不确定这是最好的方法 注意。Im使用的是直接数据存储API,而不是JDO/JPA等 我想一个选择是继续序列化-我不清楚AppEngine上对各种序列化方法的支持有多好?我想我可以存储为字节数组-直接使用可序列化接口写入 或者,我可以存储一些主元列表,并将每个对象子类型存储为它自己的实体-我不确定是否能够引用它,以及速度影响?我需要存储大约100种不同的子类型 有人对如何做到这一点有什么建议吗 这似乎是一个非常基本的问题——我认为noSQL数据存储自然不会有问题——但我对整个概念都很陌生——直到现在我还是一个关系数据库人:) 谢谢 更新/编辑 嗯,我刚刚重新阅读了实体/查询等的文档页面。。。我想我可能掉进了关系数据库思考者的陷阱 实体下的一节指出: 注意:数据存储实体是无模式的:与传统关系数据库不同,App Engine数据存储不要求给定类型的所有实体都具有相同的属性,也不要求给定属性的所有实体值都具有相同的数据类型。如果需要一个正式的模式,应用程序本身负责确保实体符合它;pythonsdk为此提供了丰富的数据建模功能库 我认为这意味着我可以将所有子类存储在接口的“实体”引用下,例如 A类扩展到Z类 B类扩展到Z类 将类别A和B保存为实体“Z”。不另存为实体A和实体B 似乎它不在乎大多数财产等完全不同:) 这是正确的吗?为了理智起见,有人能证实这确实是在这种情况下所期望的吗Java 在AppEngine数据存储中的列表中存储子类型对象,java,google-app-engine,subclass,Java,Google App Engine,Subclass,我正在尝试使用数据存储API创建单个序列对象列表。 (之所以将其放在一个列表中,是因为对象在写入时是有序的——它基本上就像一个美化的日志文件) 我的问题是,我想存储在列表中的东西是我定义的接口/抽象类的子类型 我有一个使用我的SQL的当前存储,如下所示: ID、组ID、序列号、子类的序列化字符串 我希望通过将其推入数据存储,我不必序列化,而是可以存储对象。但我现在有点不确定这是最好的方法 注意。Im使用的是直接数据存储API,而不是JDO/JPA等 我想一个选择是继续序列化-我不清楚AppEng