问题标签 [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 投票
6 回答
7271 浏览

google-app-engine - 寻找在 GAE-J 中使用 Objectify-appengine 代替 JDO 的意见

我在 GAE 中的数据存储/JDO 学习曲线上一直在缓慢而痛苦地工作。最近我发现了一个名为Objectify的框架,它应该介于非常简单的 Datastore 原生 API 和复杂的 JDO 之间。我一直在阅读它,它看起来确实很有吸引力。

我想知道的是,如果有人对 Objectify 有很多经验......它有多成熟?有很多用户社区吗?它准备好迎接繁重的黄金时段了吗?可以放弃吗?

在这里或一般网络上似乎没有太多关于 Objectify 的讨论,这让我对将我的项目委托给它感到紧张。

0 投票
3 回答
1171 浏览

google-app-engine - App Engine - 对象化 - 存储字节 []

我正在使用 Objectify 库与应用引擎数据存储进行交互。

在我的 User 类中,我将散列密码存储为byte[]. 当我将它放入数据存储区时,它被正确存储为blob.

当我尝试重新加载User对象时,出现此错误:

java.lang.IllegalStateException: Cannot load non-collection value '<Blob: 40 bytes>' into private byte[]

我该如何解决?

我是否必须更改我的 User 类才能使哈希密码为 type ShortBlob

0 投票
2 回答
292 浏览

google-app-engine - 实体中的大量属性会影响数据存储区的读/写性能吗?

我有几个实体,其属性编号在 40 到 50 之间。所有这些属性都未编入索引。这些实体是更大的实体组树结构的一部分,并且总是通过使用它们的键来检索。没有任何属性(除了 key 属性)被索引。我正在使用 Objectify 来处理 BigTable 上的实体。

我想知道在从 BigTable 读取或写入具有大量属性的实体时是否会对性能产生任何影响。

由于这些大型实体仅通过它们的键获取,从不参与任何查询,我想知道是否应该序列化实体 pojo 并存储为 blob。在 Objectify 中使用 @Serialized 注释非常简单。我知道通过序列化我的实体并将其存储为 blob,我使 blob 对任何其他程序或非 Java 代码完全不透明,但这不是问题。

我还没有对性能差异进行基准测试,但在这样做之前,我想知道是否有人以前这样做过或有任何建议/意见要分享。

0 投票
2 回答
183 浏览

java - 为服务媒体项目(照片、mp3、文档等)生成密钥的最佳实践

我正在制作 P2P 媒体共享功能,用户可以在其中与他人共享文件(图像、mp3 等)。当用户与其他用户共享文件时,我只需向他们发送指向该文件的链接。链接看起来像:

http://www.domain.com/file?q=unique_key

现在,unique_key 必须是字母数字且不容易猜到,所以我打算使用文件记录的编码密钥。

这在我早期的 Python GAE 应用程序中很容易,但在我的新 Java 应用程序中,我无法获取这个 Key 值,我得到的只是一个 Long(数字)的 ID。

我的实体有一个名为 ID 的字段,它是 Long,但在我的 GAE 管理控制台中有一个实体编码的键,它是字母数字,我希望我的数据库中的每条记录都是唯一的。那么如何访问呢?

我正在使用 Objectify,当我创建这样的新密钥时

Key myKey = new Key (FileEntity.class, entityID);

myKey 是一个包含一些文本的字符串,但它是我正在寻找的唯一字母数字 ID。

对不起我的模糊问题,请帮忙。

0 投票
4 回答
3323 浏览

google-app-engine - 检查对象是否存在的最快方法

我正在将 GAE/Java 与 Objectify 一起使用,并且我正在尝试找到最快的方法来检查给定对象是否存在于数据存储中,给定密钥。我现在正在做的是.get(key)on @Cached,但无论哪种方式仍然检索整个对象,这是不必要的。

关于如何仅使用索引来执行此操作的任何想法?我也在考虑仅键查询,但我看到(在系统状态仪表板上)延迟远不止get.

0 投票
2 回答
3840 浏览

java - Objectify - 如何按布尔值过滤?

在过滤布尔值时,我使用 Objectify 为谷歌 appengine 数据存储区碰壁了。这大致是我所拥有的:

无论我在搜索时做什么,我总是得到一个空响应,尽管 db 中有对象failed = false

例子:

0 投票
1 回答
88 浏览

google-app-engine - 在持久化实体中使用非持久化相关的方法和字段

我有一个与持久性相关的 java-ee 代码,我需要重写它以使应用程序在 Google App Engine 及其数据存储上运行。当我使用 java-ee 持久性提供程序时,我会使用我的 IDE 生成持久性实体,并将它们保持原样,以防我需要重新生成它们。但是,为应用程序引擎存储自动生成实体类是不可能的,我想知道是否有充分的理由让我保持实体类干净并且不使用与持久性没有直接关系的字段和方法。如果重要的话,我会使用 objectify 作为持久性提供者。

这是一个例子:

0 投票
1 回答
202 浏览

java - 大表亲子

如果我有像 categoryA -> subcategoryA--> book 关系这样的 pojo。子类别 A 是父类别 A 的子类别。在这种情况下,书是子类别 A 的子类别,所有内容都在同一个实体组内

如果我需要将“书”移动到另一个子类别-B。我需要删除 subcategoryA 和 categoryA,然后重新创建 categoryA -> subcategoryA--> without book 吗?并重新创建 categoryb -> subcategoryb--> book ,other-book, other-book3 ?

0 投票
1 回答
262 浏览

crud - 在 Play 1.1 上使用 Objectify 1.1rc 和 CRUD 的 M:1 关系问题

我遇到了一个非常奇怪的问题,也许你们中的一个人可以对此有所了解。我会很感激 :)

我正在使用 Objectify 1.1rc 模块为 Play 开发应用程序!框架 1.1。我有 2 个相关对象,其相关部分是:

一些背景:

  • 我正在使用 Google 代码存储库中的 Objectify 1.1rc(Play 存储库中的模块似乎在 Play 中失败!1.1)示例应用程序运行良好
  • 我将现有对象中的对象基于 Play Framework (Showcase) 的 Objectify-1.1rc 模块提供的示例应用程序。
  • 我通过将我的应用程序和示例应用程序(展示)指向同一个 CRUD 模块来进行调试和测试。
  • 我可以毫无问题地使用 Java 代码链接它们。

目前我有 2 个问题无法解决,它们是:

M:1 关系未保存

我对 User 类的“剧院”关系有疑问。当通过 CRUD 编辑用户类型的对象时,我可以看到将剧院实例与用户相关联的多选控件,当我单击其中的一些(一个或多个)并保存对象时,关系没有保存,使得无法通过 CRUD 接口链接对象。

怎样才能让它发挥作用?

CRUD 代码未被一个应用程序访问但由另一个应用程序访问

Objectify 模块 (Showcase) 中的示例应用程序允许我使用 CRUD 保存 M:1 关系。正如我之前提到的,我的应用程序和展示都指向同一个 CRUD 模块,因此它们应该使用完全相同的代码。通过日志输出进行调试,我注意到我的应用程序使用了 CRUD,但示例应用程序使用了所有代码直到某个点。

CRUD 模块遍历到“tag/form.html”,找到一个“relation”类型的字段(在我的代码和示例应用程序中)但是当调用标签“#{crud.relationField}”时发生了一些奇怪的事情:我的应用程序进入 CRUD 模块中定义的标签。示例应用程序不会访问该代码,不会触发添加到该标记的日志(在文件的任何位置)。

我已经在示例应用程序中搜索了标签的任何替换,但我找不到。你可以猜到,这让他们发疯,让我开始相信生活在我桌面上的绿色小妖精(没有给我金子,该死的!)

有谁知道为什么会这样?我能找到示例应用程序正在执行的代码吗?找到它很可能会解决问题 #1

非常感谢!

0 投票
1 回答
714 浏览

python - lxml objectify 不调用自定义元素类的构造函数

lxml.objectify 似乎没有为我的自定义元素类调用构造函数:

假设正在解析的文件是

我希望它打印“Made CustomElement”,但事实并非如此。我可以让它调用构造函数吗?

如何在不调用构造函数的情况下创建 CustomElement 类的实例?