Boa tarde.
Estou com um problema devido ao cache do Hibernate. É o seguinte:
Tenho uma tela de inclusão de clientes; em determinado local dessa tela está o endereço do cliente. Ao digitar o CEP, ocorre uma consulta Ajax que preenche os outros dados como logradouro, bairro, cidade etc.
Se o CEP consultado não existe, na mesma tela existe um botão que abre uma janela para inclusão de um novo CEP.
Beleza, faço a inclusão do novo CEP só que ao fazer a consulta novamente via AJAX, esse novo CEP cadastrado ainda não aparece na consulta. Eu tenho que sair da tela e voltar para que o mesmo apareça.
Alguém tem alguma sugestão ?
Salvando o CEP:
Session session = HibernateFactory.getSession();
Transaction transaction = session.beginTransaction();
try {
LogradouroDAO dao = new LogradouroDAO(session);
dao.salvar(vo);
transaction.commit();
---------------------------------------------------------------------
public void salvar(T vo) throws Exception {
session.saveOrUpdate(vo);
}
Consultando o CEP:
public Collection<Logradouro> listar(Logradouro vo) throws Exception {
StringBuilder hql = new StringBuilder();
hql.append("from Logradouro vo ")
.append( "inner join fetch vo.cidade ci ")
.append( "inner join fetch vo.bairroIni ba ");
if (vo != null) {
hql.append("where 0=0 ");
if (vo.getCep() != null) hql.append("and vo.cep like '"+vo.getCep()+"%' ");
}
hql.append("order by vo.cep asc ");
Query query = session.createQuery(hql.toString());
return query.list();
}