Tenho um cliente, no qual o relacionamento está configurado da seguinte maneira:
Cliente
id
nome
...
ContatoCliente
id
nome
@ManyToOne
cod_cliente
Então eu salvo um novo contato para esse cliente (que não possuía nenhum contato anteriormente) :
this.session = HibernateUtil.pegarSessao(id);
this.tx = this.session.beginTransaction();
this.session.merge(contatoCliente);
this.session.flush();
tx.commit();
Porém ao realizar uma nova busca:
this.session = HibernateUtil.pegarSessao(id);
this.tx = this.session.beginTransaction();
return this.session
.createQuery("from ContatoCliente WHERE cli_codigo = ?")
.setInteger(0, cliente.getCli_codigo())
.list();
Esse lista ainda se encontra "atualizada", ela ainda está com 0 itens.
Tentei flush, clear, ... ESSE REGISTRO CONSTA NO BANCO
E se eu fechar e abrir a aplicação de novo ele vai aparecer.
Deve ser apenas algum detalhe que está me passando despercebido.
Acho que alguém já passou por isso, ou que gostaria de me ajudar?