3

我有一個父類,我想在其中存儲一個HashMap。然而,每一次我嘗試修改HashMap中我得到以下錯誤:Google App Engine帶有HashMap子字段的JDO持久性

PM org.datanucleus.store.appengine.MetaDataValidator checkForIllegalChildField 警告:無法驗證一個一對多的關係com.monsters.server.MonUser .monsters

任何想法是什麼?下面是代碼:

這是代碼父類

@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true") 
public class MonUser { 
    @PrimaryKey 
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) 
    private Key key; 

    @Persistent(serialized="true", mappedBy = "owner") 
    @Element(dependent = "true") 
    private HashMap<String,Monster> monsters; 

...

@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true") 
public class Monster { 
    @PrimaryKey 
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) 
    private Key key; 

    @Persistent 
    private MonUser owner; 

...

我已經試過的AppEngine網頁上的所有關係上,似乎沒有任何幫助。任何信息都會非常有幫助!

P.S.我已經得到它與ArrayLists等工作,但不hashmaps,哈希表,地圖等,如果這有所幫助。

回答

3

只是下Collections由JDO支持:

  • java.util.ArrayList<...>
  • java.util.HashSet<...>
  • java.util.LinkedHashSet<...>
  • java.util.LinkedList<...>
  • java.util.List<...>
  • java.util.Set<...>
  • java.util.SortedSet<...>
  • java.util.Stack<...>
  • java.util.TreeSet<...>
  • java.util.Vector<...>
相關問題