Por que devemos implementar Serializable e sobrescrever os métodos equals e hashCode nas Entity JPA

2 respostas
C

Beleza galera, essa é meu primeiro topico aqui no GUJ, espero que consiga me espresar pra não confundir a galera.

Vamos lá.

Gostaria de saber porque devemos implementar o Serializable e sobrescrever os métodos equals e hashCode nas Entity JPA.
Att.

César Vale

2 Respostas

Andre_Brito

Eu acho que essa do Serializable não é realmente necessário. Pode depender bastante do seu contexto.
Dá uma olhada neste link.

O equals e o hashCode (resumidamente) testam a igualdade entre dois objetos. Se você quer comparar 2 valores do tipo inteiro (int), você usa o “==”. Por outro lado, se você quiser comparar dois objetos do tipo Integer, você teria de usar equals (if um.equals(dois) … ). Um exemplo do hashCode bem básico é o seguinte: imagine que você tem arquivos XML e quer comprar um arquivo a com um b. Você poderia usar o equals ou o hashCode. Se você usar o hashCode, o valor do hashCode do a vai ser idêntico ou valor do hashCode de b se eles forem ‘o mesmo arquivo com um nome diferente’ ou coisa do tipo.

G

Conforme o André disse uma entidade não precisa ser Serializable. Porém toda PK precisa ser Serializable.

Além disso, quando você utiliza uma aplicação distribuída você precisa serializar os DTOs.

Criado 31 de dezembro de 2009
Ultima resposta 31 de dez. de 2009
Respostas 2
Participantes 3