使用Long键映射在Serializable类中不起作用

时间:2015-05-05 18:36:11

标签: java google-app-engine serialization jetty

我有一个Serializable类,带有map属性。当地图有一个长按键时,代码不起作用,而使用String则有效。

这不起作用:

public class UserSession implements Serializable {
    Map<Long, Date> timeQuestionAsked = new HashMap<>();
}

这确实有效:

public class UserSession implements Serializable {
        Map<String, Date> timeQuestionAsked = new HashMap<>();
    }

奇怪的是我也不例外。这个类加载在Jetty(谷歌应用程序引擎应用程序)的过滤器中,当我尝试使用带有Long键的类时,我得到一个奇怪的“未找到”错误。

1 个答案:

答案 0 :(得分:1)

实际上它是由我使用的数据库框架引起的:objectify。事实证明,地图必须有字符串作为键:https://code.google.com/p/objectify-appengine/wiki/Entities#Maps

它与Serializable无关......