> I don't pretend to understand it all, but here's how Hessian does its work:
> 
> https://github.com/ebourg/hessian/blob/git-svn/src/com/caucho/hessian/io/StringValueDeserializer.java
> 
> That is using java.lang.reflect.Constructor, so is that is aware of
> serialVersionUID?

http://hessian.caucho.com/ says that Hessian is cross-language. Which rules out 
Java's standard serialization anyway.

Now I'm really wondering why Cayenne is bothering with @Serializable and 
serialVersionUID in the first place.

If a superclass doesn't have any data involved in serialization, it doesn't 
need any annotation; subclasses can still be @Serializable.
The subclasses - well, they're the programmer's domain, he can add 
@Serializable and serialVersionUID as needed, or leave them out if unnecessary.

I don't see a use case for generating serialVersionUID or @Serializable in the 
first place.

(Unless I'm overlooking something. But what could that be?)

Reply via email to