Map的Key是Serializable,但返回错误

时间:2012-11-25 13:50:48

标签: java map serializable

Maps

的课程
public class Page {
    private Map<LocaleWrapper, String> titles;
    private Map<LocaleWrapper, String> texts;

    (...)
}

关键班

public class LocaleWrapper implements Serializable {
    private Locale locale;

    //Constructor, getter, setter
}

我的IDE抛出错误:

Basic attributes can only be of the following types: (...), or any Serializable type.

为什么我的IDE会抛出此错误,如何修复映射? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

显示此错误AFAIK,因为该属性位于JPA实体内,而不仅仅是一个简单的类。

地图不可序列化。

您真的想将整个地图保存为BLOB列中的序列化字节数组吗?如果是这样,请选择可序列化类型,如HashMap。如果没有,那么地图需要定义实体和/或嵌入类型之间的某种形式的关联,我首先考虑如何将信息存储在数据库中,并将数据库模式映射到实体。