google-app-engine - "too many"在与 Google 的数据存储(高复制)的单个事务中有多少个对象?

标签 google-app-engine transactions google-cloud-datastore objectify

我有以下实体(不相关的字段/方法已删除)。

public class HitsStatsTotalDO
{
    @Id
    transient private Long targetId;

    public Key<HitsStatsTotalDO> createKey()
    {
        return new Key<HitsStatsTotalDO>(HitsStatsTotalDO.class, targetId);
    }
}

所以...我正在尝试批量获取 10 个对象,我使用 HitsStatsTotalDO.createKey() 为其构造 key 。我正试图在这样的交易中获取它们:

final List<Key<HitsStatsTotalDO>> keys = ....

// This is being called in transaction..
Map<Key<HitsStatsTotalDO>, HitsStatsTotalDO> result = DAOBase.ofy().get(keys);

抛出以下异常:

java.lang.IllegalArgumentException:在单个事务中对太多实体组进行操作。

您能否详细说明多少是太多以及如何解决?我在文档中找不到确切的数字。

谢谢!

最佳答案

问题不在于您要检索的实体数量,而在于它们位于多个实体组中。要么在事务外进行提取,要么使用 XG (Cross Group) transaction .

关于google-app-engine - "too many"在与 Google 的数据存储(高复制)的单个事务中有多少个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251594/

相关文章:

python - 在 Google App Engine 上连接 python 后端和 vue.js 前端

http - 了解 Ring 和 Appengine-magic (Clojure) 上的处理程序

macos - mac OSX 10.8.3 文件系统上的 gae 本地数据存储在哪里?

python - ndb 事务支持更新/回滚同一事务中的多个 ndb 模型条目

google-app-engine - 您将如何为 Twitter 这样的社交网站设计 AppEngine 数据存储?

java - 谷歌应用引擎: Can I programmatically find out if this is the default version?

python - 使用 Python 的 App Engine : How to convert pdf file into different jpeg images

azure - Azure 表存储跨多个表的事务模式?

spring - spring中jdbctemplate和事务管理的java配置

java - BlazeDS 二进制最新版本下载位置