带有长键的映射在可序列化 class 中不起作用

Map with Long key does not work in Serializable class

我有一个可序列化 class,带有一个映射 属性。当地图具有 Long as 键时,代码不起作用,而使用 String 时代码起作用。

这不起作用:

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

这确实有效:

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

奇怪的事情我也不例外。此 class 加载到 Jetty(google 应用程序引擎应用程序)的过滤器中,当我尝试将 class 与长键一起使用时,我得到一个奇怪的 "Not found"错误。

其实是我使用的数据库框架objectify引起的。原来 Maps 必须有字符串作为键:https://code.google.com/p/objectify-appengine/wiki/Entities#Maps

与Serializable无关...