2014-02-19 79 views
0

我已經打上兩場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) 

有人可以告訴我爲什麼我得到這個錯誤,我該如何解決它?

+0

也許你的註釋不能像他們應該的那樣工作? –

+0

這是我的想法,但我如何讓他們兩種方式工作? – onesixtyfourth

+0

儘量讓他們只是'私人短暫' –

回答

0

看起來你的註釋不起作用。

儘量讓您的字段簡單private transient

0

你在課堂上實現了Serializable接口嗎?

transient意味着這個特定的字段不會被序列化。

+0

我還沒有實現serializeable,因爲我不希望這些字段是可序列化的。這就是爲什麼他們被標記爲@Transient,但它似乎只有一種方式。 – onesixtyfourth

+0

在這種情況下,您基本上應該實現Serializable,但將這些字段標記爲transient。所以其餘的字段將被序列化,除了「邊緣」和「單元格」 – XpressOneUp

0

也許有一片混亂,有兩種瞬態的:

transient:JAVA關鍵字以表示將不會是可序列化的場

@Transient:JPA註釋,指示該字段將不堅持

在你的情況下,封閉的類可以實現Serializable接口,並用transient標記字段(和字段的類)。