在java中使用基于GAE构建的应用程序。无法确定我是否要使用DatastoreServices和Entity类,或者为我的对象创建类,并使用PersistenceManager。
有人可以解释这两种服务的差异吗?
答案 0 :(得分:4)
如果您没有固定的理由使用其中任何一种,请查看Objectify。它是一个更好,更实用的存储库。
SDK中的数据存储区服务是低级服务,可让您直接与Bigtable RPC对话。您将编写转换为Bigtable数据格式和API的代码,并调用Bigtable的RPC方法。
JDO规范及其持久性管理器是一个Java标准,用于处理创建数据类及其存储和检索。它比直接数据存储区服务高一级抽象。 Google已经实施了在GAE上运行的JDO规范,因此您可以根据需要使用它。
Objectify是JDO的替代品,它不是企业Java标准,但使用起来更容易和有趣。它非常接近Python API,这使它非常简洁。
答案 1 :(得分:3)
我对DatastoreService的投票,因为PersistenceManager(JDO)消耗更多资源(=更多钱)而且速度更慢。
http://gaejava.appspot.com/ - 在这里你可以比较它们。尝试多次运行此测试。