我尝试在单个交易中插入/更新多个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();
如果无法做到这一点,是否有解决方法使其有效? 感谢。
答案 0 :(得分:1)
Transactions上的文档在这里应该会有所帮助,尤其是关于实体组的部分。
实体组告诉App Engine将多个实体存储在数据存储的同一节点中 - 否则,一个事务需要大量的跨节点通信,并且几乎不可能正确。
实体组主要用于父子关系,因此可以在与父项相同的事务中更新子实体。