caio_sope:
Galera.
Estou querendo fazer uma simples busca com o hibernate.
Trata-se de buscar todos os cadastros de uma tabela.
Tentei algo do tipo:
teste = session.get(Tabela.class);
Mais não rolou.
Tentei tb criar uma query normal:
teste = session.createQuery("SELECT * FROM Tabela");
Mas tb não foi.
Como posso fazer esta busca?
Valeu!
Session sessao = null;
Transaction tx = null;
try {
sessao = HibernateUtil.getSession();
tx = sessao.beginTransaction();
Query q = sessao.getNamedQuery("Versao.listarTodos");
List<Versao> lista = q.list();
tx.commit();
return lista;
} catch (Exception ex) {
tx.rollback();
ex.printStackTrace();
return null;
} finally {
if (sessao != null) {
try {
sessao.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Esse código executa a query “Versao.listarTodos” que me retorna todos os itens da tabela Versao. Essa query foi adicionada a classe Versao na seguinte forma:
@NamedQueries
(value =
{
@NamedQuery(name = "Versao.listarTodos", query = "from Versao order by id asc"),
@NamedQuery(name = "Versao.listarUltimaAtualizacao", query = "from Versao where id = :id"),
@NamedQuery(name = "Versao.listarVersaoPorPessoa", query = "from Versao where pessoaAtualizacao = :pessoa order by id asc"),
}
)
com o primeiro jeito que vc tentou, ele retorna a busca apenas se a vc buscar pela chave primaria, e teria que passar a PK como o sgeundo argumento da linha.
Espero ter ajudado.