Существует два разных способа выполнения транзакций (JDO) в хранилище данных App Engine.
Метод 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();
}
}
Какая функциональная разница между этими двумя подходами?