JDO-嵌入式类中的HashMap

| 您是否可以在App Engine的嵌入式类中存储HashMap? 我有以下课程:
@Persistent(serialized = \"true\")
@Embedded
private Stats stats;

@PersistenceCapable
@EmbeddedOnly
public static class Stats implements Serializable {
    private static final long serialVersionUID = 1L;        
    @Persistent(serialized = \"true\", defaultFetchGroup=\"true\")
    private Map<String, Integer> requests;

    public Stats() {
        requests = new HashMap<String, Integer>();
    }
}
但是,当我尝试将项目添加到HashMap并将其持久化时,出现以下错误: 指定的类com.google.appengine.api.datastore.Blob无法持久保存 我知道您可以在\“ normal \”类中成功使用HashMap,但它们也可以在嵌入式Class \中使用吗? 谢谢     
已邀请:
我还没有尝试使用Embedded类,但是我在JDO对象中的Maps需要在包含的类上附加FetchGroup批注...
    @SuppressWarnings(\"serial

        \")
        @PersistenceCapable(identityType=IdentityType.APPLICATION, detachable=\"true\")
        @FetchGroup(name=\"QueryAggregationJobJDO\", members={
                                                @Persistent(name=\"appName\", recursionDepth=-1),
etc....                                         
        public class QueryAggregationJobJDO extends AggregationJobJDO implements SystemObject {
            @Persistent(serialized=\"true\")  // this is string of app names and a count for each name found
            public Map< String, Long >  appName = new HashMap<String, Long>();
并且我们必须在打开DataManager时使用getFetchPlan()添加此类。
@Override
public boolean open() {
    DataAreaManager dataAreaManager = new DataAreaManager();
    dataAreaManager.setDataArea(VERSION_DATA_AREA);

    if ((pm == null) || (pm.isClosed())) {

        pm = PMF.get(type).getPersistenceManager();
        pm.getFetchPlan().addGroup(\"TouchActiveUserJDO\");
        pm.getFetchPlan().addGroup(\"UserRoleJDO\");
        pm.getFetchPlan().addGroup(\"QueryAggregationJobJDO\");
    

要回复问题请先登录注册