Google App Engine数据存储交易的两种不同方法 - 可以使用哪些方法?

时间:2011-03-22 02:41:20

标签: java google-app-engine google-cloud-datastore jdo

App Engine数据存储区中有两种不同的执行事务处理方式(JDO)。

方法1 :使用PersistenceManager

try {
   pm.currentTransaction().begin();
   // do stuff
   pm.currentTransaction().commit();
}
finally {
    if (pm.currentTransaction().isActive()) 
        pm.currentTransaction().rollback();
}

方法2 :使用DatastoreService

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService()
try {
    Transaction txn = datastore.beginTransaction();
    // do stuff
    txn.commit();
}
finally {
    if (txn.isActive()) {
        txn.rollback();
    }
}

这两种方法之间的功能差异是什么?

1 个答案:

答案 0 :(得分:1)

我认为JDO本身使用低级DatastoreService API进行事务处理。

如果您使用JDO来处理对象,则应使用它(JDOs / JPAs)持久性管理器事务方法。否则,您的对象将如何持久保存到基础数据存储区?