瞬态字段导致可序列化错误

时间:2014-02-19 16:56:21

标签: java serialization glassfish ejb transient

我有一个标有两个字段serilizeable的课程

@Transient
private List<Edge> edges;

@Transient
private List<Cell> cells;

当我从服务器到我的应用程序获取此实例时,这是有效的。哪个是应用程序客户端。当我尝试将此类的实例保存回服务器时,我收到了serilisation错误。

WARNING: 00100006: Class pojo.Cell is not Serializable
at beans._MazeBeanRemote_Wrapper.saveMaze(beans/_MazeBeanRemote_Wrapper.java)

有人可以告诉我为什么会收到此错误以及如何解决此问题?

3 个答案:

答案 0 :(得分:0)

您是否在班级中实施了Serializable界面?

并且transient表示此特定字段不会被序列化。

答案 1 :(得分:0)

好像您的注释无效。

尽量让您的字段private transient

答案 2 :(得分:0)

也许有一种混乱,有两种瞬态:

transient:java关键字表示不可序列化的字段

@Transient:JPA注释,表示该字段不会被保留

在您的情况下,封闭类可以实现Serializable接口,并使用transient标记字段(以及字段的类)。