所以我一直在這個問題上停留了大約3周。我讀過這個:http://code.google.com/appengine/docs/java/datastore/jdo/relationships.html,它似乎沒有工作。基本上我有一個持久對象,稱爲池,我需要將玩家添加到該池中。球員也是持久對象。我有一個游泳池和玩家之間的無主關係,游泳池有一組玩家ID(主鍵ID ...)添加到Google-appengine中的集合
所以我試過的東西: 1)我用一個Long作爲主鍵對於這兩個,這沒有奏效。 2)嘗試使用來自appengine的Key作爲主鍵,並且這不起作用,因爲您無法在客戶端使用Key的實現。沒有找到工作,我的數據傳輸對象是sl//凌亂/ errorprone/hackish和各種不良。 3)使用字符串作爲id,這樣的嘗試......
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String id;
而且也不能工作。當我嘗試將字符串添加到其設置,像這樣...
public void addPlayers(Pool pool, List<String> players) {
PersistenceManager pm = getPersistenceManagerFactory().getPersistenceManager();
try {
pm.currentTransaction().begin();
Pool oldPool = pm.getObjectById(Pool.class, pool.getID());
for(String id : players) {
oldPool.addPlayer(id);
System.out.println("Added id:" + id);
}
pm.currentTransaction().commit();
} catch (Exception e) {
pm.currentTransaction().rollback();
e.printStackTrace();
} finally {
pm.close();
}
}
它會靜靜地失敗。就像在...它不會堅持它們一樣。
任何建議將是偉大的。這是一個學校項目,不幸的是我不得不使用JDO在GWT中完成它。我的教授和助教都不能幫助我,因爲他們不熟悉GWT ...有趣...所以這是我的最後手段:)
謝謝!
你的代碼與GWT有什麼關係? – 2011-03-29 07:37:05
,因爲它使用谷歌應用程序引擎編寫...也許我錯過了什麼?這是一個在eclipse中的GWT項目... – Chris 2011-03-29 07:43:15
在日誌中查找,在調試級別 – DataNucleus 2011-03-29 08:43:12