Dúvida Hibernate: createQuery e executeUpdate (Resolvido)
3 respostas
ataufo
Pessoal,
estou tentando executar um Update no banco atravez do Hibernate, já testei o SQL no próprio Postgres e funcionou numa boa, entao acho que tem algo errado na execução do DAO.
Segue o método abaixo:
public void atualizaStatus() throws Exception
{
Session sessao = fabrica.openSession();
Transaction transacao = sessao.beginTransaction();
Query q = sessao.createQuery
("update Grupo Set status = 'Inativo' where data < (select to_char(current_date, 'DD/MM/YYYY')");
q.executeUpdate();
transacao.commit();
sessao.flush();
sessao.close();
}
Alguem sabe me ajudar ? Nunca tive que executar um update no Hibernate sem passar um objeto, então estou perdido.
Tenta substituir o “sessao.createQuery” por “sessao.createSQLQuery”.
PS. mude sua query para “update Grupo Set status = ‘Inativo’ where data < to_char(current_date, ‘DD/MM/YYYY’)” desse modo ela fica mais limpa.
ataufo
Rapaz, nem foi preciso usar o SQLQuery o problema era realmente esse select sobrando ai que eu nem tinha visto.
Obrigado, problema resolvido.
Axel_MacNamara
ataufo:
Pessoal,
estou tentando executar um Update no banco atravez do Hibernate, já testei o SQL no próprio Postgres e funcionou numa boa, entao acho que tem algo errado na execução do DAO.
Segue o método abaixo:
public void atualizaStatus() throws Exception
{
Session sessao = fabrica.openSession();
Transaction transacao = sessao.beginTransaction();
Query q = sessao.createQuery
("update Grupo Set status = 'Inativo' where data < (select to_char(current_date, 'DD/MM/YYYY')");
q.executeUpdate();
transacao.commit();
sessao.flush();
sessao.close();
}
Alguem sabe me ajudar ? Nunca tive que executar um update no Hibernate sem passar um objeto, então estou perdido.