Hi,

I am seeing the following stack trace when using HashMap in my persistable 
class. I have something like this in my app. 

@PersistenceCapable
public class MyClass {
...

List<ClassA> list1;
List<Class B> list2;

...
}

@PersistenceCapable

public class ClassA {

//some fields


@Persistent(serialized = "true", defaultFetchGroup = "true")

private HashMap<String, String> myMap;

@Persistent(serialized = "true", defaultFetchGroup = "true")

private List<HashMap<String, String>> myListMap; 

//getters & setters

}


When I persist my MyClass object, it looks ok. I can see all List<ClassA> 
being persisted correctly. I saw old post from 2 yrs ago where GAE team 
member showed the example on how to persist using HashMap (like above). 


When I retrieve my MyClass object with my key to update it, I see the 
exception trace below. Can't we use HashMap at all? It's NOT listed in GAE 
supported collection class list at 
https://code.google.com/appengine/docs/java/datastore/jdo/dataclasses.html#Collections.
 
Any good alternatives to use?  I need to use key/value pairs in that object. 
Any pointers are much appreciated. 

NestedThrowablesStackTrace:
java.lang.UnsupportedOperationException: FK Maps not supported.
        at 
org.datanucleus.store.appengine.DatastoreManager.newFKMapStore(DatastoreManager.java:589)
        at 
org.datanucleus.store.mapped.MappedStoreManager.getBackingStoreForMap(MappedStoreManager.java:766)
        at 
org.datanucleus.store.mapped.MappedStoreManager.getBackingStoreForField(MappedStoreManager.java:637)

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine-java/-/EOhGl49yIvQJ.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to