I am probably risking some downvotes on this.
It seems to me that explicitly specifying serialVersionUID for new classes is bad. Consider the two cases of not changi
At my work we explicitly prohibit specifying serialVersionUID, exactly because of the problems you bring up.
In addition, the classes we persist are only used to store data with no logic inside, so the only way they change is because of changing data members.