Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Por que de fato usar serialVersionUID

Ola pessoal,

Fiz o teste de inserção de dados no arquivo com e sem serialVersionUID e ambos funcionaram. A única questão que impede a leitura do arquivo caso a classe tivesse o serialVersionUID é que ela precisa ter esse atributo, do contrário o arquivo a ser lido não irá funcionar porque quando o arquivo foi gerado, sua classe tinha o serialVersionUID.

Minha dúvida é se isso impacta nos serviços pra webservice, pois vejo eles direto nas classes.

obgdo

2 respostas
solução!

Oi John, tudo bem?

Em runtime, o processo de serialização associa a cada classe serializável um número de versão, chamado serialVersionUID, que é usado durante a desserialização para verificar se o emissor e o receptor de um objeto serializado carregaram classes compatíveis (mesma versão). Se o receptor tiver carregado uma classe para o objeto que tenha um serialVersionUID diferente daquele da classe do remetente correspondente, a desserialização resultará em um InvalidClassException.

Ou seja, com ou sem serialVersionUID vai funcionar. Porém, se um arquivo for escrito um um serialVersionUID e lido sem um serialVersionUID, irá ocorrer uma exception.

Abraço!

Valeu Otavio!