Serailizable이 아닌 엔터티에 대한 중요한 상태 데이터를 저장할 Serializable 개체 설명자를 생성합니다. 이전 디스크립터를 응용 프로그램 업그레이드 전체에서 어떻게 유효하게 유지합니까? 나는 이전의 모든 상태를 (업그레이드시) 열어서 상태를 업그레이드하라는 메시지를 전했습니다. 아마도 통해 :직렬화 된 객체를 어떻게 유지해야합니까?
void onUpgrade(int oldVersion, int newVersion, int updateFlags);
그러나 이것은 직렬화 유지 관리를위한 좋은 방법인지 모르겠습니다.
다음은 직렬화에 대한 훌륭한 기사입니다 : http://www.javaworld.com/javaworld/jw-02-2006/jw-0227-control.html, 5 페이지에있는 내용은 InvalidClassException 잡기와 관련이 있습니다. 예외 처리. 다른 접근법은 JSON, XML 또는 심지어 설명자 테이블과 같은 메타 데이터로 동적 데이터와 구조를 사용하여 변경 사항을 관리하는 방법을 포함합니다. 희망을 도왔습니다. – eduardohl
@eduardohl 실제로 많은 도움이되었습니다. 링크를 제공해 주셔서 감사 드리며 조금만 기어 가려면 기꺼이 교육을 받아야합니다. – AedonEtLIRA
이 기사에는 심각한 실수가 있습니다. 예를 들어, 필드 제거에 대한 IllegalArgumentException에 대한 설명은 환상적입니다. 기본적으로 serialVersionUID를 절대로 변경하지 말고 결코 호환되지 않는 변경을하지 말라고 말하는 Sun의 기사가 있습니다. – EJP