Olá pessoal
Estou com o seguinte problema :
quando vou acessar uma tabela do meu banco de dados via Java (DAO) os valores da tabela são antigos.
Por exemplo: Dou um update na tabela, comito, e quando acesso os dados via java, aparecem o valor antigo (antes do update)
pq isso acontece ?
Alguem conhece alguma solução ?
Obrigado !
Depende de como vc implementou.
Poderia nos mostrar
Esta é meu métod dentro da classe dao que pega da tabela os valores.
[code]public List getUsuarios() {
String sql =
" SELECT Distinct a" +
" FROM WebAvisoDisponivel a" +
" WHERE a.dataRetorno is null “; // and a.disponivel<>‘N’ and a.disponivel<>‘E’”;
Query query = getCurrentSession().createQuery(sql).setCacheable(true);
List listaEmails = query.list();
return listaEmails;
}[/code]
seria pcausa do “setCacheable” ?
Como é seu metodo de insert ou update?
Na verdade o insert e o update eu não dou pelo Java, e sim direto via sql. Tenho uma função que faz isso no banco.
No java eu só busco os dados da tabela, mais nada.
provavelmente deve ter a ver com esse seu cache. Não tem alguma opções que force a ler os valores atuais do banco?
flw
Entendi , vc executando um select direto no banco , os dados retornados são atuais?
Tente tirar esse parametro do cache , veja se ha diferença