Java App Engine DatastoreService或PersistenceManager?

时间:2010-11-22 05:24:38

标签: java google-app-engine

在java中使用基于GAE构建的应用程序。无法确定我是否要使用DatastoreServices和Entity类,或者为我的对象创建类,并使用PersistenceManager。

有人可以解释这两种服务的差异吗?

2 个答案:

答案 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/ - 在这里你可以比较它们。尝试多次运行此测试。