我正在使用Google AppEngine(Java)探索网络开发。我的应用程序有一个非常基本的数据存储要求,非常适合AppEngine的“地图”,如数据存储区。
基本单元是一个具有成员变量的类,每个事务将从数据库中写入或读取(这是因为它与Android应用程序交互)。
我正在考虑使用Objectify
进行接口。
我的问题是:如果我稍后更改基类中的大小(变量数)会怎样?我知道AppEngine没有输入,但如果某些变量可用于某些键而不是其他键,Objectify
会导致任何问题吗?
答案 0 :(得分:2)
手册中对此进行了广泛讨论:
http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Migrating_Schemas
简短的回答是您可以随意添加和删除字段。此外,还有更复杂的数据转换设施。
答案 1 :(得分:0)
如果您决定稍后从Objectify框架转移到低级API,则不会出现问题。应用程序引擎的数据存储区已键入,但不是所有Java类型。我不知道你是否能够在没有阅读和重写所有数据的情况下让JDO或JPA工作,但我想你可能会这样做。
Objectify 4的存储Map的方法非常好 - 将属性存储为“fieldname-mapkey”