Google App Engine for Java,第 3 部分: 持久性和关系
2009-09-17 00:00:00 来源:WEB开发网关系的问题
App Engine for Java 目前的预览版的另外一个缺点是它对关系的处理。为了创建关系,现在您必须对 JDO 使用 App Engine for Java 特有的扩展。假设键是在 BigTable 的工件的基础上生成 — 也就是说,“主键” 将父对象键编码到其所有子键中 — 您将不得不在一个非关系数据库中管理数据。另外一个限制是持久化数据。如果您使用非标准的 AppEngine for Java Key
类,事情将会变得复杂。首先,把模型移植到 RDBMS 时,如何使用非标准 Key
? 其次,由于无法使用 GWT 引擎转换 Key
类,因此,任何使用这个类的模型对象都无法被作为 GWT 应用程序的一部分进行使用。
当然,撰写这篇文章时,Google App Engine for Java 还是纯粹的预览模式,没有到发布的最佳时间。学习 JDO 中的关系文档(很少,而且包含一些不完整的示例)时,这点就变得显而易见了。
App Engine for Java 开发包提供了一系列的示例程序。许多示例都使用 JDO,没有一个使用 JPA。这些示例中没有一个示例(包括一个名为 jdoexamples 的示例)演示了关系,即使是简单的关系。相反,所有的示例都只使用一个对象把数据保存到数据存储中。Google App Engine for Java 讨论组 充斥着有关如何使简单关系起作用的问题,但却鲜有答案。很显然,有些开发人员有办法使其起作用,但是实现起来都很困难,而且遇到了一些复杂情况。
App Engine for Java 中的关系的底线是,无需从 JDO 或 JPA 获得大量支持就能够管理它们。 Google 的 BigTable 是一种已经经过检验的技术,可用来生成可伸缩的应用程序,然而,您还可以在此基础上进行构建。在 BigTable 上进行构建,您就不必处理还不完善的 API 层面。另一方面,您只要处理一个较低级别的 API。
- ››Google搜索引擎的奥秘
- ››Google测试搜索结果页面右侧内容更丰富的信息栏
- ››Google Dart精粹:应用构建,快照和隔离体
- ››APP Loading页设计和App从当前页进入新页面交互
- ››App产品开发:App产品开发与推广的经验
- ››google的代码审查
- ››google analytics清晰追踪爬虫的爬行信息
- ››Google+中文用户在两千万Google+大军中是少数派
- ››Google AdWords最昂贵点击成本的20种关键词分类
- ››Google运作经理Bryan Power给出的GOOGLE求职意见
- ››Google用户体验的十大设计原则
- ››Applying Styles and Themes - 应用Style和Theme ...
更多精彩
赞助商链接