Google app引擎事务插入java

时间:2010-03-01 09:25:32

标签: google-app-engine transactions

我尝试在单个交易中插入/更新多个entites,但无济于事。它总是抛出IllegalArgumentException。

我想做这样的事情。

Transaction tx = pm.currentTransaction();
tx.begin();

for(int i=0;i<10;i++) {
    SampleEntity entity = new SampleEntity(i);
    pm.makePersistent(entity);
}

tx.commit();

如果无法做到这一点,是否有解决方法使其有效? 感谢。

1 个答案:

答案 0 :(得分:1)

Transactions上的文档在这里应该会有所帮助,尤其是关于实体组的部分。

实体组告诉App Engine将多个实体存储在数据存储的同一节点中 - 否则,一个事务需要大量的跨节点通信,并且几乎不可能正确。

实体组主要用于父子关系,因此可以在与父项相同的事务中更新子实体。