Dúvida Hibernate: createQuery e executeUpdate (Resolvido)

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.

Agradeço qualquer ajuda! Valeu.

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.

Rapaz, nem foi preciso usar o SQLQuery o problema era realmente esse select sobrando ai que eu nem tinha visto.

Obrigado, problema resolvido.

[quote=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
          (&quot;update Grupo Set status = 'Inativo' where data &lt; (select to_char(current_date, 'DD/MM/YYYY')&quot;);
          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.

Agradeço qualquer ajuda! Valeu.[/quote]