Variável serialVersionUID qual valor eu coloco?

Quando eu serealizo um objeto, eu tenho que declarar uma variável serialVersionUID.
Essa variável tem que ser declarada com valores diferentes para cada objeto?

Grato

Eu creio que um long que seja único para cada classe.

Minha duvida é que se ele for único eu vou ter que ter um controle de que número eu já usei.

Não, para cada classe.

Vc poder utilizar o utilitario serialver disponivel do sdk

http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/serialver.html
http://www.javapractices.com/Topic45.cjp

Se estiver usando o Eclipse, ele mesmo gera um número para você.

Como faço para o eclipse gerar?

Quando você cria uma classe que pede um serialVersionUID, ao lado da definição da classe, ele mostra um warning. Clique lá e ele mostra as opções.

Valeu não conhecia essa função do eclipse.

Desculpa a ignorância, mas para que serve essa variável?

http://www.guj.com.br/posts/list/26252.java
http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html
http://www.javapractices.com/Topic45.cjp

Serve para a máquina virtual saber a versão da classe para quando ela é serializada. Se você não declarar esta variável e receber um objeto da mesma classe de uma aplicação remota (que talvez tenha sido compilado em um momento diferente), pode ser que dê um ClassCastException. Colocando esta variável a máquina virtual reconhece como a mesma classe (mesmo se não for uma versão igual, com um campo a mais por exemplo…).

Entendi

Valew

Olá,

“public class BaseBean implements Serializable”

Criei a class BaseBean que é serializavel, mas o Eclipse não dá nenhum “Warning” logo não mostra o QuickFix (com o CTRL 1 não aparece nada) que permite gerar automáticamente o “serialVersionUID”.
O que poderá esta a acontecer de errado?
O que fazer para o Eclipse gerar o “serialVersionUID”?

Obrigado.

Jorge Mota