问题标签 [objectify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2615 浏览

google-app-engine - 在 Google App Engine 数据模型中进行“或”查询

我想进行这样的查询“从地址=“”或年龄=“”的人中选择名称。这在 GAE 模型中是否可能。所有事物都包括 AND 闭包而不是 OR。我如何使用 JDO/JPA、Objectify 来做到这一点。提前致谢

0 投票
3 回答
715 浏览

google-app-engine - 使用 Objectify 和 Google App Engine 重命名字段

我正在尝试我们更改实体中的字段名称的情况。例如,我们有这样的东西

根据 objectify 你必须使用 annonation @AutoLoad("")。这没关系,因为 Google Datastore 实际上并没有删除数据,但它创建了一个新字段,所以这个注释就像旧字段和新字段之间的映射。当您阅读整个表格时没有问题。

当您对查询应用过滤器时会出现问题(假设您使用旧名称创建了 5 个对象,使用新名称创建了 5 个对象)。查询的结果取决于您使用的是旧变量名还是新变量名(仅返回 5,但从不返回 10)。它不会同时获取它们并映射它们。对这个问题有什么建议吗?我希望我清楚地解释了它。

提前致谢

0 投票
1 回答
3920 浏览

java - objectify-appengine - 嵌入式类 - 不支持的属性类型

我正在谷歌应用引擎上试用 objectify(2.2.3 版)嵌入式类示例(wiki)。我收到此错误:

我拥有的代码与 Wiki 中的代码相同。控制器中的部分:

EntityWithEmbedded 类:

一级:

等级二:

所以这是我正在尝试的基本示例。关于缺少什么的任何想法?

0 投票
1 回答
1796 浏览

python - Python lxml(objectify):Xpath 的麻烦

我正在尝试解析 xml 文档,使用 lxml objectify 和 xpath 提取数据。这是文件的一个片段:

我有以下方法:

...调用此方法:

打印语句来自测试。当我执行第一个方法时,它会解析 xml 文档,成功地在每个资产对象处停止。我有一个变量字典供它查找,还有一个免费的路径供它使用,定义如下:

但是,当我在节点(这是一个对象化的 xml 节点)上调用它时,xpath 似乎不起作用。如果我直接将它等同起来,它只会输出 [ ],如果我尝试,它会给出索引超出范围错误:[0].text。

这里发生了什么?

0 投票
1 回答
727 浏览

java - 谷歌应用引擎中的排序结果

我正在尝试使用 objectify 和 GAE 进行简单的排序。不幸的是它不起作用。这是一个简单的例子

根据谷歌的说法,您必须订购您在其上进行不等式过滤的字段。所以我做了以下

然后我想以价格订购,所以我添加了该行

但什么都没有发生。我尝试了不同的字段,似乎每个查询只能下一个订单。虽然这个例子说的有些不同

http://code.google.com/appengine/docs/java/datastore/queries.html#Restrictions_on_Queries

有人有线索吗?提前致谢

0 投票
1 回答
523 浏览

android - 通过 Objectify 以 SQL 语句的形式从 App Engine 中导出数据以构建 SQLite 数据库

我正在使用 Objectify 在 Google App Engine 上存储数据。我想把我的数据转换成 SQL 格式,这样我就可以在一个 android 项目中使用它。是否可以从 Objectify 转到 SQL?有没有我可以使用的库,还是我必须手动完成?

0 投票
1 回答
878 浏览

java - Objectify 无法保存 @Embedded 字符串列表

Objectify (2.2.3) 似乎不想处理 @Embedded 字符串列表,尽管所有文档似乎都说它应该是可能的。字符串的处理就像它们是需要转换的自定义对象一样。最小的例子:

此类的一个实例被保存为:

请注意,字符串是通过哈希保存的,它是字符串中唯一的非最终字段

此代码将失败:

我在这里做错了吗?不支持嵌入的字符串列表吗?

0 投票
1 回答
555 浏览

java - Objectify - 将@Id 添加到任何类

在 RESTful 系统中,服务器 (GAE) 和客户端 (Android) 都使用了许多自定义对象类。为了便于维护,这些对象的代码在服务器和客户端之间是通用的。

为了使这些对象可以在服务器端使用 Objectify 进行存储,必须将一个字段注解为 @Id。但是,如果不在客户端上导入 javax.persistence(或创建代码的单独客户端/服务器副本)(或者,对于每个对象,使用克隆创建“StorableX 扩展 X”),我无法在每个对象类中执行此操作。

是否可以使用适配器或包装器模式通过 Objectify 动态地使任何对象可存储?对此的最佳做法是什么?

谢谢,--约翰

0 投票
2 回答
1897 浏览

java - 多租户如何在带有 Objectify 的 App Engine 中工作?

应用引擎中带有命名空间的多租户如何工作?我的应用程序有多个用户,每个用户有点像多租户中的租户。他们的 URL 以 domain/customer/companyToken#pageName?param1¶m2 开头。因此,从 Google 文档中,如果我想对每个客户应用带有命名空间的多租户,您需要为每个客户分配 NamespaceManager 的唯一 ID 所以如下所示:

现在我有几个问题。

  1. App Engine 命名空间的多租户如何真正发挥作用?

  2. 它如何改变我们一般访问数据的方式?

  3. 它如何改变我们使用 Objectify 访问数据的方式?

  4. 首先我对将上述应用到应用程序的理解是,在检索数据时,与上述客户(租户)相关的所有数据都聚集在同一个命名空间中,那么我们使用 Objectify 访问数据的方式如何改变?目前公司 obj 是所有与客户相关的 obj 的父对象。(所以如果是我的申请?)

非常感谢你。

0 投票
0 回答
433 浏览

java - Java Google App Engine 批量加载程序下载警告“__key__ 上没有降序索引,正在执行串行下载”

可能重复:
应用程序引擎批量加载程序下载警告“上没有降序索引,正在执行串行下载”

我的帖子非常类似于:App engine bulk loader download warning "No descending index on __key__, perform serial download"

我基本上想做同样的事情。

基本上,我使用以下内容下载我的一种类型的所有实例:

如果该种类的实例数量多于批量大小,那么我会收到以下警告:

这导致我仅下载大约 6500 个实体需要 471.4 秒(根据完成后的 bulkloader 工具)。这真的很慢,因为我有大约 4 种其他类型甚至比这更大(大约 15,000 个实体)!

同样根据我的 Mac 的活动监视器,我只以大约 24Kb/秒的速度下载,如bulkloader输出中的带宽所示:


我的问题是:

1)如何摆脱“__key__上没有降序索引,执行串行下载”的警告以获得并行下载速度?

我认为我的问题的答案是添加降序索引。就像是:

我尝试将此添加到 datastore-indexes.xml 文件中。

它部署成功,但我在 Google 的管理门户上查看了我的 Datastore 索引,但我没有看到它正在服务或正在构建。无论如何,为了它,我重新运行了下面的命令,它仍然很慢......

我还尝试将相同的 xml,但使用 source="auto" 添加到 datastore-indexes-auto.xml 文件中。但是,当我尝试部署我的 eclipse 时抱怨以下错误:

2) 删除此警告是否需要我更新自动生成的 bulkloader.yaml?我在下面包含了游戏类型:


有用的发现

当我输入这个问题时。我发现了这个App Engine Bulk Loader Performance

它基本上解释了将bandwidth_limit增加到合理的值并增加rps_limit确实有助于加快速度。

所以我尝试了:

这将下载时间减少到 109.8 秒。这是一个巨大的减少!

但是,我的目标仍然集中在摆脱“__key__上没有降序索引,执行串行下载”以进行并行下载。


额外信息,以防可能相关

我正在使用 objectify3.0.jar 来操作我的 GAE 数据存储。所以我的游戏类型看起来像这样: