Fórum Sugestão de relacionamento com JPA #523303

18/06/2015

0

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

Responder

Posts

20/06/2015

Ronaldo Lanhellas

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;
...
}
Responder

Gostei + 0

20/06/2015

Ronaldo Lanhellas

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;
...
}
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar