Hibernate [RESOLVIDO]

4 respostas
A

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 ] &gt
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

4 Respostas

A

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

Fabio_Kung

isso mesmo!

procura sobre “mapping inheritance”

A

Obrigado pessoal.
Fabio e alots, posso perguntar caso tenha duvida?

A
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.
@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;
	}

}

----|----

@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;
	}


}
Criado 12 de dezembro de 2006
Ultima resposta 12 de dez. de 2006
Respostas 4
Participantes 3