0

我正在实现一个简单的费用报告应用程序。该应用程序将使用 GAE。在我的应用程序中,我有几个实体(类),例如年、月、日、费用、帐户等。图片如下:用户可以创建一个Account,然后用一个简单的表格开始报销费用。费用存储在 GAE Datasotre 中。每年都有几个月,每个月都有几天,每天都有一个声明的费用。问题是我不知道如何在 GAE 的非关系数据库中安排这些实体。我从 Google Developers 网站阅读了几篇教程和文章,但仍然不了解父/子关系和实体组的概念。任何人都可以提供一些教程、视频、有关如何设计关系并将实体存储在非关系数据库(如 GAE 数据存储)中的文章或书籍。提前致谢。我忘了提到我想使用 GAE 低级数据存储。

4

2 回答 2

1

如果您使用的是 java,我建议您使用 objectify。至少对我来说,它比 JPA 容易得多。

您是按读取和写入付费的,因此,例如,如果您可以将一个月的所有数据放入 1mb 中,那么我一天就没有单独的实体了。无论如何,我不明白您的要求,例如为什么 year 必须是一个实体,并且只能是您过滤的属性。我实际上会考虑只使用带有 Year 和 Month 属性的 Day 实体进行过滤。

http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Relationships

于 2012-06-26T08:11:48.917 回答
0

在 MongoDb 中,您将“嵌入”文档。我不知道 GAE 是否像 MongoDB 一样进化——我怀疑不是。如果您在此阶段遇到文档问题,也许您应该查看另一个文档记录更好的 NOSQL 数据库。无论如何,我都会看看 MongoDB 网站,所以如果你有 SQL 的背景,你可以看到两种文化之间的术语映射。当然,任何 NOSQL 数据库本质上都是非事务性的,因此当应用程序开发以跟踪费用支付时,以后可能会出现一些无法解决的问题。

于 2012-06-26T07:59:03.053 回答