Boa tarde pessoal, estou iniciando com hibernate e me deparei com um problema. Fiz engenharia reversa da minha base postgres pelo netbeans. Umas das tabelas da base é um relacionamento n:n, criada a partir da tbPessoa e tbArea (area de interesse da pessoa). Gravo normalmente pessoa e area, mas não consigo gravar na tabela associativa. Li vários fóruns e não resultou em muita coisa.Segue o codigo que estou implementando.
Pessoa.hbm
[code]<?xml version="1.0"?>
[/code]Persistencia pessoa
public String SavePessoa(principal.Pessoa PVO){
try {
SessionFactory factory = new Configuration().
configure("pers/hibernate.cfg.xml").buildSessionFactory();
Session session = factory.openSession();
Transaction t = session.beginTransaction();
// PVO.setIdpessoa(10);
session.save(PVO);
t.commit();
session.flush();
session.close();
mensagem = "Gravou com sucesso!";
} catch (Exception e) {
mensagem="Erro: "+e.getMessage();
}
return mensagem;
}
classe para gravar pessoa
principal.Pessoa PVO = new principal.Pessoa();
PVO.setNome(jTFNome.getText());
PVO.setEmail(jTFEmail.getText());
PVO.setNumero(jTFNumero.getText());
PVO.setRua(jTFRua.getText());
PVO.setEstado(jTFEstado.getText());
PVO.setCidade(jTFCidade.getText());
PVO.setTelefone(jTFTelefone.getText());
PVO.setFax(jTFFax.getText());
String selecao = new String();
selecao = jCBArea1.getSelectedItem().toString();
String aux[] = selecao.split(Pattern.quote(":"));
StringBuilder str = new StringBuilder();
str.append(aux[0]);
principal.Area AVO = new principal.Area();
AVO = new rn.AreaRN().SelecionarArea(Integer.parseInt(str.toString()));
HashSet h= new HashSet<Object>();
h.add(AVO);
PVO.setAreas(h);
PVO.getAreas().add(AVO);
rn.PessoaRN pessoaRN = new PessoaRN();
String mensagem = pessoaRN.CreatePessoa(PVO);
if (mensagem != null) {
JOptionPane.showMessageDialog(null, mensagem);
}
O código acima grava pessoa, mas não a tabela associativa e não gera nenhuma exceção ou erro.
Tentei colocar a imagem do debug do netbeans mostrando que o PVO está com o idPessoa e idArea, só que não grava nenhum na tabela associativa