我有一个简单的POJO,它有一些属性,其中一个是枚举。这工作得很好,但是当我将枚举属性更改为枚举列表时,GWT给了我一个序列化异常“无法反序列化响应”。GWT:枚举抛出列表“无法反序列化”
这工作:
public class Report implements Serializable, Comparable<Report> {
private static final long serialVersionUID = 1L;
private long id;
//some more attributes, all serialize fine
private ReportCategory category; // the enumeration
public ReportSVO(){
}
//.. generated getters and setters
}
当我改变了private ReportCategory category;
到private List<ReportCategory> categories;
我得到了(反)序列化异常。
从预感中,我改变了枚举为一个内部类:(public enum ReportCategory{...}
到public class ReportCategory{ private Name categoryName; public enum Name{...}}
)和魔术一样,它的工作原理。 此问题导致我有两个问题:
- 这是一个GWT错误?或者我错过了什么?
- 有没有更好的方法来解决这个问题?
枚举本身不应该是一个问题,因为它之前工作(和枚举可以默认序列化)。另外,当我忘记其他GWT类的无参数构造函数或具有不可序列化属性时,序列化异常消息如下所示:“com.google.gwt.user.client.rpc.SerializationException:Type'...'不包括在该组的类型,可以通过这个SerializationPolicy被序列化。”
我使用GWT 2.4