据我所知,有以下数据访问存储选项:
您使用的是哪一个?为什么?我是所有这些的新手,并且不知道哪一个最好 ...如果有人可以向我展示所有这些选项中的绊脚石,那会很好吗?
到现在为止我更喜欢Enteties,但我不知道如何有效地实现数据模型?
由于
答案 0 :(得分:3)
我避免使用JDO和JPA,因为它们让开发人员误以为Datastore是一个关系数据库。人们使用JDO / JPA,因为他们从SQL世界中了解它们,据我所知,它可能不是最优的,因为数据存储只能是关系/ SQL数据库。
您真的应该了解数据存储区如何工作并使用本机API。
因此,唯一的左侧选项是低级API(实体,属性,键)或objectify。
虽然低级API为您提供了所有数据存储功能,但它会强制您使用实体而不是您的类。因此,您最终编写了许多样板代码,可以在实体和对象之间进行复制。
Objectify,专为AppEngine数据存储而设计,内部使用低级API,因此它具有所有功能和速度,没有任何缺点。你应该试一试。
更新
还有其他类似于objectify的选项(在某种意义上它们是专门为数据存储区制作的):Twig和SimpleDS。请参阅此内容以进行比较:Looking for opinions on using Objectify-appengine instead of JDO in GAE-J
答案 1 :(得分:0)
只有一个存储选项。 GAE在数据存储区之上提供了JDO和JPA API,但它只是访问数据存储区的一种不同方式(如Hibernate,JDO和JDBC是可用于访问RDBMS的三种不同的API)。