Sugestão de relacionamento com JPA

Java

18/06/2015

Boa tarde Pessoal, tenho três tabelas, fiz mapeamento delas com JPA, quero ver com vocês se dessa forma esta certo? No banco deu tudo certo, mas preciso saber se posso melhorar.

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "TBPESSOA")
public class Pessoa {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_PESSOA")
private Integer id;
}

@Entity
@PrimaryKeyJoinColumn(name = "ID_PESSOA")
@Table(name = "TBFUNCIONARIO")
public class Funcionario extends Pessoa {

}

@Entity
@PrimaryKeyJoinColumn(name = "ID_PESSOA")
@Table(name = "TBPROPRIETARIO")
public class Proprietario extends Pessoa {

}[img]http://arquivo.devmedia.com.br/forum/imagem/301136-20150618-175843.jpg[/img]
Adriano Aguiar

Adriano Aguiar

Curtidas 0

Respostas

Ronaldo Lanhellas

Ronaldo Lanhellas

18/06/2015

Sim, tem como melhorar. Por questões performáticas o ideal é usar composição em vez de herança neste caso, pois Pessoa tem muitos campos e irá sobrecarregar o sistema com campos que nem sempre vocÊ usará.

Então, Funcionario TEM Pessoa , e não Funcionario É Pessoa.

Ex:

public class Funcionario{
 ...
   private Pessoa pessoa;
...
}
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

18/06/2015

Sim, tem como melhorar. Por questões performáticas o ideal é usar composição em vez de herança neste caso, pois Pessoa tem muitos campos e irá sobrecarregar o sistema com campos que nem sempre vocÊ usará.

Então, Funcionario TEM Pessoa , e não Funcionario É Pessoa.

Ex:

public class Funcionario{
 ...
   private Pessoa pessoa;
...
}
GOSTEI 0
POSTAR