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<...>
相关问题