Pessoal boa tarde, estou passando um sufoco.
Tenho uma tabela Pessoa e PessoaFisica.
[ Pessoa ] <Table>
cod_pessoa <Column> <PK>
nome <Column>
---------------------------
[ PessoaFisica ] <Table>
cod_pessoa <Column> <PK> <FK -> cod_pessoa [ Pessoa ] >
cpf <Column>
Gostaria que alguem me ajudasse com o hibernate, estou lendo a documentacao, tutorias e tentando a dias, mas nao consigo fazer.
Nao sei se ajuda mas minha ideia eh essa:
Minha ideia era qndo inserisse uma pessoa fisica, seu nome e cod_pessoa fosse para a tabela Pessoa e seu cpf e cod_pessoa para a tabela PessoaFisica.
Acho q pro deletar , update e select devem ser a mesma logica, pelo q entendi ate agora.
[]'s
Procura sobre herança no hibernate, ai vc mapeia a tabela pai(pessoa) com os campos genericos, e tabela pessoa_fisica com seus campos especificos, aí quando vc inserir uma pessoaFisica o hibernate automaticamente insere nas duas.
Alberto
isso mesmo!
procura sobre “mapping inheritance”
Obrigado pessoal.
Fabio e alots, posso perguntar caso tenha duvida?
Pessoal , vou postar o codigo que eu usei.
Funcionou perfeitamente. Tanto o fabio qunto o Alots me deram a luz e eu fui atras.
Como sei que a maioria dos topicos sobre o tal assunto nunca tem a solucao postadas pelo Autor depois que o mesmo saiu do sufuco. Estou tomando uma iniciativa para ajudar os proximos que tiverem tal duvida.
Flw!
Atencao codigos resumidos.
[code]@Entity
@Table
@Inheritance(strategy = InheritanceType.JOINED)
public class Pessoa {
// Fields
private int codpessoa;
private String nome;
// Property accessors
@Id @GeneratedValue
@Column(name = "PESSOA", unique = true, nullable = false, insertable = true, updatable = true)
public int getCodpessoa() {
return this.codpessoa;
}
public void setCodpessoa(int codpessoa) {
this.codpessoa = codpessoa;
}
@Column(name = "NOME", unique = false, nullable = true, insertable = true, updatable = true)
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}[/code]
----|----
[code]@Entity
@Table(name = “pessoa_fisica”)
public class PessoaFisica extends Pessoa {
// Fields
private String rg;
// Property accessors
@Column(name = "RG", unique = false, nullable = true, insertable = true, updatable = true, length = 15)
public String getRg() {
return this.rg;
}
public void setRg(String rg) {
this.rg = rg;
}
}[/code]