关于appengine的slim3分布式交易

时间:2010-12-10 08:41:18

标签: java google-app-engine bigtable

来自示例

@Model
public class Account {

    @Attribute(primaryKey = true)
    private Key key;

    private Integer balance;
    ...
}
来自示例http://sites.google.com/site/slim3appengine/

我不明白为什么做汇款需要2个不同的交易,因为这只是一个实体(同一个实体)

  Acount src = gtx.get(Acount.class, srcKey);    //arent src and des same entity? why do 2 trans?
    Acount dest = gtx.get(Acount.class, destKey);
    if (src.getBalance() >= amount) {
        src.setBalance(src.getBalance() - amount);
        dest.setBalance(dest.getBalance() + amount);
    }

1 个答案:

答案 0 :(得分:1)

src和dest是不同的实体 - 您使用单独的键(srcKey和destKey)获取它们。