【发布时间】:2019-03-16 21:31:26
【问题描述】:
如果您将事务放入 objectify/datastore 中的事务中会发生什么?执行顺序是什么,事情是如何解决的?
例如,
1)如果内部事务失败,外部事务也会失败吗?
2)如果外层事务失败,如果内层事务恰好完成,是否会回滚?
// Outer Transaction
Thing th = ofy().transact(() -> {
Thing thing = ofy().load().key(thingKey).now();
thing.modify();
ofy().save().entity(thing);
// Inner Transaction
// This transaction could be in another method used in various other places
Thing th2 = ofy().transact(() -> {
Thing thing2 = ofy().load().key(thingKey2).now();
thing2.modify();
Thing thing2 = ofy().load().key(thingKey3).now();
thing3.modify();
ofy().save().entity(thing2);
ofy().save().entity(thing3);
return thing;
});
return thing;
});
【问题讨论】:
标签: google-cloud-datastore objectify