Herdar anotações/criar uma classe modelo pra entidades

4 respostas
Biribs
Eu criei 3 tabelas com JPA, ambas tem semelhanças como @Entity,

private static final long serialVersionUID = 1L;

@Id

@GeneratedValue(strategy=GenerationType.AUTO)

abaixo uma variável Long que representa o id

Eu queria economizar código herdando essas características, é possível?

Desde já agradeço

4 Respostas

staroski

Só por serem semelhantes, não significa que as entidades são a mesma coisa.

É um engano bastante comum desenvolvedores quererem fazer herança quando algumas classes são parecidas.

Lembre-se que herança é um acoplamento forte.
Acoplamento forte torna o sistema mais rígido para sofrer alterações/manutenções.

Biribs

Então não da?

staroski

Dá, pesquise por MappedSuperclass.
Mas os motivos que estão te fazendo fazer isso não são adequados.

O código cliente vai referenciar somente a superclasse ou as classes filhas?
Se referenciar somente a superclasse, então a herança é justificável.

Cada uma das classes filhas pode servir de substituta para a superclasse?
Se podem servir de substitutas, a herança é justificável.

Senão é só mais um acoplamento forte.

Biribs

entendi

Criado 12 de outubro de 2020
Ultima resposta 13 de out. de 2020
Respostas 4
Participantes 2