I'm reading that the deserialization mechanism takes the serialVersionUID of 
all superclasses into account.
So yes the serialVersionUID needs to be set on each class, and subclasses can 
retain their serialVersionUID even if the superclass' serialVersionUID changes.
Also, if a class does not have any serializable fields, it can simply have a 
fixed serialVersionUID that never changes, say, 1L (that's the common way to 
say "this class does not have anything serializable", or "this class will never 
change", or "I'm taking responsibility for manually bumping up the 
servialVersionUID whenever a serialization-relevant change happens").

That's what I gather from reading various sources in the web.
I'm not seeing any official mention of the issue, unfortunately.
I guess this means reading the source, and/or testing with as many JDKs as 
humanly possible.

Reply via email to