2014-02-19 6 views
0

내가 과도 필드

@Transient 
private List<Edge> edges; 

@Transient 
private List<Cell> cells; 

serilizeable 두 개의 필드를 표시 한 클래스가 나는 내 응용 프로그램 서버에서이 인스턴스를 얻을 때이 작동합니다. 어떤 응용 프로그램 클라이언트입니다. 이 클래스의 인스턴스를 서버에 다시 저장하려고하면 필자가 오류를 발생시킵니다.

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

누군가이 오류가 발생하는 이유와 해결 방법을 알려 줄 수 있습니까?

+0

어쩌면 주석이 예상대로 작동하지 않을 수 있습니까? –

+0

이것이 내가 생각하는 것입니다. 그러나 어떻게하면 두 가지 방법으로 작동하게 할 수 있습니까? – onesixtyfourth

+0

간단히 '개인 과도기'로 만들어보세요 –

답변

0

특수 효과가 작동하지 않는 것 같습니다.

필드를 간단하게 private transient으로 만드십시오.

transient :

0

Serializable 인터페이스를 수업에 구현 했습니까?

transient은이 특정 필드가 직렬화되지 않음을 의미합니다.

+0

이 필드를 serialize 할 수 없기 때문에 serializeable을 구현하지 않았습니다. 이것이 왜 그들이 @Transient로 표시되어 있지만 한 방향으로 만 작동하는 것 같습니다. – onesixtyfourth

+0

이 경우 기본적으로 Serializable을 구현해야하지만 해당 필드를 일시적으로 표시해야합니다. 나머지 필드는 '가장자리'와 '셀'을 제외하고 직렬화됩니다. – XpressOneUp

0

은 어쩌면 과도 두 가지 종류가 있습니다, 혼란이 직렬화되지 않습니다 필드를 나타 내기 위해 자바 키워드가

@Transient : 필드 수 없음을 나타냅니다 JPA 주석 지속

경우에 따라 동봉 클래스는 Serializable 인터페이스를 구현하고 필드 (및 필드 클래스)를 transient으로 표시 할 수 있습니다.