Erro consulta hibernate

5 respostas
ACDias
Olá estou tentando fazer uma consulta com hibernate via HQL só q está gerando uma exception. Estou seguindo um tutorial do guj.
Session session = HibernateUtils.getSession();

		session.beginTransaction();
		List<Event> result = session.createQuery("from events").list();
		session.getTransaction().commit();
		return result;
Exception:
Exception in thread "main" java.lang.NoClassDefFoundError: antlr/ANTLRException
	at org.hibernate.hql.ast.ASTQueryTranslatorFactory.createQueryTranslator(ASTQueryTranslatorFactory.java:35)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:74)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
	at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
	at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
	at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
	at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
	at hibernate.anotations.EventManager.listEvents(EventManager.java:37)
	at hibernate.anotations.EventManager.main(EventManager.java:14)
Vcs recomendam q eu use HQL ou Criteria? Qual gera melhores resultados?

5 Respostas

legionarioba

Está faltando um jar no seu classpath. Se não me engano é o ANTLR-2.7.5H3.jar. Quanto a usar Criteria ou HQL, a escrita das suas querys irá se parecer mais com aquelas consultas que se faz no padrão JDBC utilizando-se HQL, talvez construir suas querys usando HQL seja mais familiar…De qualquer forma, a depender do que você estiver fazendo, HQL acaba realmente sendo o mais indicado, vide bula:

Chapter 12. Criteria Queries

Hibernate now features an intuitive, extensible criteria query API. For now, this API is less powerful and than the more mature HQL query facilities. In particular, criteria queries do not support projection or aggregation

Mais detalhes na documentação de HQL
e Criteria

:wink:

ACDias

Tive essa exception:

Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: events is not mapped [from events]Consultas com HQL não funcionam com Hibernate Annotations?

georgesq

pelo que venho tentando com JPA ele não aceita native query´s, mais hql tudo sem problemas

[s]
baiano

gilliard_santos

HQL funciona com hibernate annotation sim.
O que essa exception está te informando é que nao existe um bean chamado “events” mapeado. Pelo tipo da sua lista (List<Event>) acredito que o correto seria “from Event” e não “from events”.

ACDias

gilliard_santos:
HQL funciona com hibernate annotation sim.
O que essa exception está te informando é que nao existe um bean chamado “events” mapeado. Pelo tipo da sua lista (List<Event>) acredito que o correto seria “from Event” e não “from events”.
Era isso mesmo. Valeu. Eu achei que eu deveria usar o nome da tabela e não do Bean.

Criado 17 de janeiro de 2007
Ultima resposta 18 de jan. de 2007
Respostas 5
Participantes 4