因此,我正在使用Wicket創建一個小型Web應用程序,該應用程序將在Google應用程序引擎上運行。我使用的是JDO,到目前爲止持續數據(插入)或查詢數據的相同數據對象沒有問題。也許我錯過了一些基本的東西,我試圖採取其中一個持久對象,更改兩個值,然後我希望修改後的對象在數據存儲中更新。使用JDO和GAE更新對象
我有一個持久的用戶對象。我可以查詢這個,所以我知道對象本身有正確的註釋。
我正在更新它的代碼是:
final PersistenceManager pm = PMF.get().getPersistenceManager();
Transaction trans = pm.currentTransaction();
try{
trans.begin();
user.setLoginCount(user.getLoginCount()+1);
user.setLastLoginTime(new Date());
trans.commit();
}finally{
if (trans.isActive()) {
trans.rollback();
System.out.println("----transaction rollback - submitLogin----");
}
pm.close();
}
這裏是我的用戶對象註解這兩件事情我想改變...
@Persistent
private Date lastLoginTime;
@Persistent
private int loginCount = 0;
我做了正確的查詢在此代碼之後,它在我更改值之前返回相同的對象。
任何想法我做錯了什麼?
感謝,這正是我正在尋找。我打電話pm.makePersistant()將對象添加到數據存儲,然後pm.close()並在應用程序中使用我的對象。然後我創建了一個新的pm,並嘗試使用它來更新對象。現在,我只需再次獲取對象並複製字段。似乎工作。 – Nick 2009-09-09 12:51:52