2
在App Engine數據存儲區中執行事務(JDO)有兩種不同的方法。Google 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();
}
}
的是這兩種方法之間的功能區別?
我相信這本質上是一個重複的http://stackoverflow.com/questions/4242524/java-app-engine-datastoreservice-or-persistencemanager – WhiteFang34 2011-03-22 05:34:11
在旁註,我相信你的兩個例子,你應該把在try-finally之外的「開始」聲明。直到「開始」成功返回,您才真正擁有活動事務。 – Brummo 2011-03-22 07:33:46
這不是該問題的重複。這兩個代碼塊都完全一樣 – 2011-03-22 13:13:55