问题标签 [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 回答
1099 浏览

google-app-engine - 对象化:“put()”和使用“query()”找到对象之间的延迟

我正在使用 Objectify 将项目存储在数据库中,并希望在“名称”字段上强制执行唯一性。在我开始担心竞争条件之前,我从一个简单的实现开始......

这是我将对象添加到数据库的方法:

如果我尝试多次快速插入一个对象,有时我可以在过滤器找到现有对象并阻止保存新对象之前创建三个或四个。

这是在本地运行 - 因此尚未部署到 Google App Engine。

我应该担心吗?我错过了一些明显的东西吗?我没有在 Item 类上明确启用缓存。

(开发环境为“Google Plugin for Eclipse”v1.5.2,Objectify 3.0)

0 投票
1 回答
921 浏览

java - Gwt CellTree isLeaf() 问题

我正在尝试按照基本的 CellTree gwt 示例显示类别树。

我坚持的是确定类别的“叶子”条件。

没有子级的类别“is-a-leaf”,对吗?所以,这是我的类别(我使用 Objectify 进行 appengine 持久性):

我的 TreeViewModel 基于 AsyncDataProvider (我从外部传递):

所以这里是:

问题是:由于我的 Category bean 上没有“叶子属性”,我怎么知道它是否有孩子?显然通过查询,但是isLeaf方法需要同步返回,我怎样才能进行我的rpc调用?

或者我可以在 getCategorie() 调用中检索“叶子”信息,在运行时填充属性,但这可能是一个性能问题。

我能做些什么?

0 投票
3 回答
5279 浏览

google-app-engine - 获取 Objectify 实体的密钥

哑问题。

我创建了我的 POJO Objectify 实体(例如,“Category”)并将其持久化。

然后我通过查询检索它。

我想以一对一的关系使用它,例如想将我的类别设置为一个或多个“产品”。

我将在我的“产品”代码中有这个:Key<Categoria> categoria;

所以问题是:如何找到检索到的实体的密钥以在我的产品中设置它?

0 投票
1 回答
1543 浏览

java - Objectify 中的嵌入式实体似乎不会自动生成 Id

我在我的第一个严肃的 Google App Engine 项目中使用了 Objectify,而且通常一切都很顺利(多么可爱的图书馆!)。不幸的是,我在坚持我的实体时遇到了一个问题。

我的基本结构如下:

我正在手动声明父实体的 id,但我希望嵌入的子实体自动生成一个 id。我确实想知道完全删除子实体中的@Id 并围绕它进行编码,但随后我收到有关需要@Id 的实体的错误。

有人可以帮忙吗?我使用 id 来比较父实体的子实体之间的变化,所以它对我目前的设计方式来说是相当基础的。不过,如果那会是更好的解决方案,我可以重新架构。

0 投票
2 回答
2924 浏览

google-app-engine - 对象化和实体组

这是所有 objectify/app 引擎专家的问题:

我通过将父对象的键存储在子对象中来创建具有父/子关系的对象。这存储在 Key 类型的对象中。例如,假设我有一个汽车对象和轮胎对象。轮胎对象将父键存储在 Key 类型的变量中。

在我的应用程序中,我需要获取特定汽车的所有轮胎。我可以通过查询来做到这一点:轮胎轮胎 = oft.query(Tire.class).filter("ParentKey",carKey).get();

这是实现此目的的适当方法吗?这会导致实体组出现任何问题吗?这对大量汽车和轮胎来说是否有效?

0 投票
4 回答
2792 浏览

google-app-engine - 对 CellTable 服务器端进行排序

我目前正在使用 Gwt CellTable,通过 RPC 调用绑定到我的 GAE/Objectify 后端。

现在好了!:-)

然后我想对列进行排序,所以我阅读了http://code.google.com/intl/it-IT/webtoolkit/doc/latest/DevGuideUiCellTable.html#columnSorting

异步远程排序部分很好地展示了如何对我的 AsyncDataProvider 进行排序,但是......我如何检索用户想要排序的列的名称?

它显示了这段代码:ColumnSortList sortList = table.getColumnSortList();

但是我怎样才能从中获得字符串名称呢?我只是想知道“surname”或“soldDate”,列绑定的字段的名称!然后我会将它传递给我的 rpc 服务,并使用它在服务器端对数据进行排序query(...).order(<field_name>)

我错过了什么吗?

UPD:这里有趣的东西:http ://groups.google.com/group/google-web-toolkit/browse_thread/thread/77a0eaf8086218a6/effb8d3abe69270b#effb8d3abe69270b

0 投票
3 回答
1213 浏览

crud - 用 GWTP 实现 CRUD 的最简单方法是什么(以及用于持久性的 Objectify)?

是否有库、生成代码的 Eclipse 插件或推荐的设计模式?有 GWTP 的例子吗?谢谢。

0 投票
1 回答
1189 浏览

java - 在 GAE 的 objectify 中查询 @Embedded 地图

请考虑以下示例

现在我想要 Abc 的对象,这objs.get("someKey").getObjName().equals("someName")是真的。

如何在 Objectify 中进行此查询?另外,如果我将“objs”存储为列表而不是映射,我可以查询 Abc 的对象,使得列表值之一的 objName 为“someName”吗?在这方面需要帮助。谢谢

0 投票
1 回答
189 浏览

java - 来自已实例化但未存储的实体的访问密钥 [objectify] [@prepersist]

我编写了一个 @PrePersist 方法,该方法在我的 User 对象被持久化之前调用。该方法的目的是为用户进行一种预订,因此其他人无法获取他的电子邮件地址。因此,当用户即将被持久化时,我会说,“为用户 #xyz 创建一个 EmailReservation。”

我的麻烦是当用户之前没有被持久化时获得#xyz。id 为空,但我不能使用 DatastoreService.allocateIds,因为已经创建了代表我的用户的实体。我确实可以访问该实体,但 getKey() 返回一个带有空 id 的键 - 它还没有决定它的 id 是什么。

所以,我希望以下之一是可能的:

  1. 找出实体在持久化时将具有的 id
  2. 在持久化之前为已创建的实体提供特定的 id。

有任何想法吗?

0 投票
1 回答
771 浏览

google-app-engine - 对象化并以@Id 发送电子邮件

我不确定我是否以正确的方式使用 @Id 来客观化。现在我使用电子邮件地址作为@Id 字段。电子邮件字段将仅在服务器端设置 (OAuthService.getCurrentUser.getEmail)

第一个问题:这是个好主意吗?

例如,如果我创建一个具有 RegistrationTO 作为其父级的 Item-class,那么在我的 Item-class 中使用电子邮件地址作为 @Id 字段是否有意义,或者 Item-class 是否应该拥有它自己的、自动生成的 id 和指定关系的关键父级?

Objectify-Tutorial 建议避免使用@Parent - 所以,我认为也没有必要。我是对的?

这是我的注册地址:

项目类示例:

先感谢您!