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 ?
Depende de como vc implementou.
Poderia nos mostrar
G
gremilin
Esta é meu métod dentro da classe dao que pega da tabela os valores.
publicListgetUsuarios(){
Stringsql=" SELECT Distinct a"+" FROM WebAvisoDisponivel a"+" WHERE a.dataRetorno is null "; // and a.disponivel<>'N' and a.disponivel<>'E'";Queryquery=getCurrentSession().createQuery(sql).setCacheable(true);ListlistaEmails=query.list();returnlistaEmails;}
seria pcausa do "setCacheable" ?
ramilani12
Como é seu metodo de insert ou update?
G
gremilin
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.
R
rafaelquines
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
ramilani12
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