session.beginTransaction();
List<Event> result = session.createQuery("from events").list();
session.getTransaction().commit();
return result;[/code]
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?
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:
[quote]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[/quote]
Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: events is not mapped [from events]Consultas com HQL não funcionam com Hibernate Annotations?
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”.
[quote=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”.[/quote]Era isso mesmo. Valeu. Eu achei que eu deveria usar o nome da tabela e não do Bean.