当前位置: 首页 > 知识库问答 >
问题:

在提取实体之前,实体计数不会更新

路金鑫
2023-03-14

我在我的GAE数据存储实验中发现了一些很奇怪的东西。我使用的是GAE SDK 1.7.5。我不确定我的发现是否正确。

基本上,我发现在执行数据存储get之前,将实体放入数据存储并进行计数不会返回正确的值。

如果你想更深入地挖掘,这里是我前面的SO问题中的实际代码:

共有1个答案

逑兴安
2023-03-14

您遇到了HRD的最终一致性属性。

Count使用索引获取结果。保存新实体后,将异步构建索引,这导致put之后的get始终返回结果(强一致性),但put之后的query不能保证立即返回结果(最终一致性)。

文档在这个主题上有点含糊,但它确实提到了getput之后强制执行“apply”阶段,可能导致也应用索引:请参见第1点。在“返回值”一节中写入数据存储的生命期。

 类似资料:
  • 我在JTA和Wildfly8中使用Eclipselink,问题是在提交用户事务并将数据插入数据库后,它不会更新相关实体,所以如果我重新加载页面或打开页面的新实例,它加载数据时不会插入行。

  • 在这种情况下,我希望检索数据,但在返回数据之前,我希望在不保存/持久化的情况下对其进行更改。 这是我的Rest控制器: 以下是服务实现: 最初我在服务上有注释。通过删除它而不在方法中使用它,我首先想到的是会话将使用存储库打开和关闭,如这里的答案所示。 这不起作用,我在评论中看到“会话将持续整个HTTP请求处理过程。”所以,在我添加的服务中 然后在我添加的方法中 在我做任何改变之前。然而,我所做的任

  • 我的实体更新有问题。如你所见,我有三个实体。 包含类中的列表。 包含类中的列表。 从我的SQL语句中可以看到,字段和是唯一的。我的表中只允许该组合的一行。 当我用类的新列表更新父实体()时,我希望Hibernate删除旧列表本身并创建新实体。一个一个地更新孩子是有点困难的。这就是为什么我要直接删除所有相关的孩子。 当我更新并为其提供包含具有唯一名称的和(数据库中已存在的实体)组合的列表时,我会出现

  • 主要内容:JPA实体更新示例JPA允许我们通过更新实体来更改数据库中的记录。 JPA实体更新示例 在这里,我们将演示如何根据主键更新学生的年龄。 完整的项目代码如下所示 - 这个例子包含以下步骤 - 第1步: 在包下创建一个名为的实体类,它包含属性:,和。 文件:StudentEntity.java 的代码如下 - 第2步: 将实体类和其他数据库配置映射到文件中。 文件:persistence.xml 的代码如下 - 在包下

  • 我整天都在尝试将实体保存到MySQL数据库中,遇到了巨大的困难。我正在使用NestJS和TypeORM。 教师实体ts app.module.ts 以下是错误: 该实体实际上保存在数据库中,但NestJS需要整整一分钟才能完成此任务并返回响应。我正在使用Angular,它等待这个响应,以便在注册为教师后将用户重定向到登录页面。在发送post请求在数据库中创建教师后,我仅在一分钟内收到状态为500的

  • 我是mapsturct的新手,我只想在dto和实体之间映射; 我的银行课; 我的银行dto类; 我下面的映射器;