![]() |
1
5
只要实体属于同一组,这就不是问题。来自 docs :
还有一篇关于 Transaction Isolation in App Engine . 编辑 :如果需要在同一事务中更新具有不同父级的实体,则需要实现一种方法来序列化自己所做的更改,并在引发异常时手动回滚。 |
![]() |
2
3
如果您想要跨实体组事务,您必须自己实现它们,或者等待库来完成它们。我写 an article 不久前,关于如何在“银行转账”案例中实现跨实体集团交易;它可能也适用于您的用例。 |
![]() |
3
2
appengine数据存储中的事务与SQL数据库中可能使用的事务的作用不同。首先,事务实际上并不锁定它正在操作的实体。 这个 Translation Isolation in App Engine 文章对此进行了更详细的解释。 因此,您需要对事务进行不同的思考——您可能会发现,在大多数情况下,如果您想要使用事务,那么它是不必要的——或者它不会实现您想要的。 有关实体组和数据存储模型的详细信息,请参见 How Entities and Indexes are Stored . Handling Datastore Errors 讨论可能导致交易不被承诺的事情以及如何处理问题。 |
![]() |
4
2
一种可能是实现您自己的事务处理,正如您所提到的。如果你正考虑这样做,那就值得你花时间去探索以前关于这个问题的工作。 http://danielwilkerson.com/dist-trans-gae.html 丹·威尔克森也在谷歌IO上对此进行了讨论。你应该能找到谈话的录像。 |
![]() |
5
0
埃里克.阿姆布拉斯已经在Java中实现了丹尼尔·威尔克森先前提到的分布式事务设计: http://code.google.com/p/tapioca-orm/ |
![]() |
TheStoryCoder · Yii2:是否在事务外部执行查询? 7 年前 |
![]() |
Ali · 将SQL事务用于单个SQL查询[已关闭] 7 年前 |
![]() |
Marcus Cemes · 选择。。。用于更新在提交后选择旧数据 7 年前 |