Objectify / Datastore - 事务内的事务

问题描述 投票:0回答:1

如果您将事务放在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
1个回答
0
投票

这里有大量关于此的文档:

https://github.com/objectify/objectify/wiki/Transactions

你想问什么问题没有在那里回答?

© www.soinside.com 2019 - 2024. All rights reserved.