Basic example to understand how hibernate mapping works.
Person table
Sex table
Mappingtothesetablesgenerates:
Sex:
publicclassSexoimplementsjava.io.Serializable{privateIntegeridsexo;privateStringtipo;privateSetpessoas=newHashSet(0);publicSexo(){}publicSexo(Stringtipo,Setpessoas){this.tipo=tipo;this.pessoas=pessoas;}publicIntegergetIdsexo(){returnthis.idsexo;}publicvoidsetIdsexo(Integeridsexo){this.idsexo=idsexo;}publicStringgetTipo(){returnthis.tipo;}publicvoidsetTipo(Stringtipo){this.tipo=tipo;}publicSetgetPessoas(){returnthis.pessoas;}publicvoidsetPessoas(Setpessoas){this.pessoas=pessoas;}}
Persontable:
publicclassPessoaimplementsjava.io.Serializable{privatePessoaIdid;privateSexosexo;privateStringnome;privateStringemail;publicPessoa(){}publicPessoa(PessoaIdid,Sexosexo){this.id=id;this.sexo=sexo;}publicPessoa(PessoaIdid,Sexosexo,Stringnome,Stringemail){this.id=id;this.sexo=sexo;this.nome=nome;this.email=email;}publicPessoaIdgetId(){returnthis.id;}publicvoidsetId(PessoaIdid){this.id=id;}publicSexogetSexo(){returnthis.sexo;}publicvoidsetSexo(Sexosexo){this.sexo=sexo;}publicStringgetNome(){returnthis.nome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicStringgetEmail(){returnthis.email;}publicvoidsetEmail(Stringemail){this.email=email;}}
Doubtsis:WhatistheprivateSetpessoas=newHashSet(0);
requiredfor?AtthetimeofinsertionhowshouldIproceed?
//Esteexcertodecódigo(exemplo)nãochegaparaacriaçãodeumanovapessoa?Sexosexo=newSexo("M");
Pessoa pessoa = new Pessoa("Joao", "[email protected]", Sexo)
PessoaDao pDAO = new PessoaDao();
pDAO.persist(pessoa);