0
我正在使用DataNeucleus JDO實現,它在我的測試服務器上正常工作,但部署時效果不佳。我是GAE的新手,我知道並非所有DataNeucleus特性被支持。不知道如何使這項工作。谷歌App Engine不保存類中的對象列表
我有一個類說:
@PersistenceCapable
public class MyInfoClass {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key key;
@Persistent(mappedBy = "myInfoClass")
private List <BuddyData> buddyList;
...
}
而且BuddyData
@PersistenceCapable
public class BuddyData {
...
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key key;
// the one-to-many rel to MyInfoClass -> BuddyData
@Persistent
private MyInfoClass myInfoClass;
....
}
我將數據保存到數據存儲爲低於該工作在測試環境中,但在部署到應用程序引擎不工作。
PersistenceManager pm = PMF.get().getPersistenceManager();
Transaction tx = pm.currentTransaction();
try {
tx.begin();
//NOTE : myInfo is the persistent MyInfoClass object retrieved from the datastore
myInfo.getBuddyList().add(new BuddyData(email));
tx.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (tx.isActive()) {
tx.rollback();
}
pm.close();
}
謝謝。我會給這個鏡頭。 – Ramp 2011-03-24 17:48:39
使用Key而不是MyInfoClass在關係中引起錯誤時,Datanucleus增強了該類。但是,在事務中調用pm.makePersistent()幫助成功保存列表。無論如何,我都會接受你的答案,謝謝! – Ramp 2011-03-30 02:46:03