Java 无法从数据存储密钥中获取实体

Java 无法从数据存储密钥中获取实体,java,google-app-engine,Java,Google App Engine,我使用的是一个(并围绕它构建了我们的应用程序)代码 Key key = put(thing); Thing thing = get(Thing.class, key); 上面的代码非常有效 现在,有一种putinransaction方法: @Override public Key putInTransaction(Object object) { Transaction tx = _ds.beginTransaction(_options); Key result = null

我使用的是一个(并围绕它构建了我们的应用程序)代码

Key key = put(thing);
Thing thing = get(Thing.class, key);
上面的代码非常有效

现在,有一种
putinransaction
方法:

@Override
public Key putInTransaction(Object object) {
    Transaction tx = _ds.beginTransaction(_options);
    Key result = null;
    try {
        result = put(object);
    } catch (Exception e) {
        e.printStackTrace();
        tx.rollback();
    } finally {
        if (tx.isActive()) {
            tx.rollback();
        }
    }
    return result;
}
我比较了
put(thing)
putinransaction(thing)
code中的键,以及它具有相同
种类
id
名称
appIdNamespace
的相同数据存储
key


现在的问题是,在对
putIntransaction(Thing)
进行JUnit测试时,当使用
get(Thing.class,key)
键时,它不会返回实体,而使用
put(Thing)
进行测试时,它工作正常这里可能有什么问题?

答案是需要添加的代码中缺少数据存储事务提交。

我看不到您在任何地方提交事务?!