我正在使用GAE(Google App Engine)數據存儲來存儲人員。如何將HashMap(作爲對象屬性)保存到數據存儲
每個人都有一個名字,一個獨特的標記,他們收到的消息列表(字符串),並測試他們完成列表(字符串)。這些都是supported types。
不過,我也想存儲包含字符串鍵和字符串值與他們已經完成了測試信息的HashMap中。
一個例子地圖我試圖保存(注意,這是示例數據,而不是實際數據)
[
<'test_easy_1', 'completed in 3 minutes'>
<'test_easy_2', 'completed in 5 minutes'>
<'test_hard_1', 'completed in 15 minutes'>
<'test_hard_2', 'completed in 3 minutes.. Did you cheat?'>
]
我試圖挽救人這樣
@Override
public boolean savePerson(Person p) {
if (p.getEntity() == null) {
return false;
}
p.getEntity().setProperty("name", p.getName());
p.getEntity().setProperty("token", p.getToken());
p.getEntity().setProperty("messages", p.getMessages());
p.getEntity().setProperty("completedTests", p.getCompletedTests());
p.getEntity().setProperty("testInformation", p.getTestInformation()); // does not work
DatastoreServiceFactory.getDatastoreService().put(p.getEntity());
return true;
}
現在對於我的問題:
如何將HashMaps作爲對象屬性保存到數據存儲?
我希望的方式在那裏我不必創建一個完整的類和新的數據存儲指標只是爲HashMap中執行此。但是,如果這是唯一的出路,我想知道如何去做。谷歌搜索這並沒有導致明確和明顯的方式來處理這種情況。