where子句中的Hql问题

时间:2009-09-02 10:15:33

标签: java hibernate exception hql

我有一个持久的class Author,其中有两个字段:int idString name

问题是每当我以这种方式执行查询时:

Session s = HibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();

Query q = s.createQuery("from Author");
return (Author)q.list().get(0);

它工作正常并返回一个带有填充字段的Author对象。但每当我尝试在我的查询中添加条件时,例如:

Session s = HibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();

Query q = s.createQuery("from Author a where a.id=41");
return (Author)q.list().get(0);

我的应用程序崩溃了。这是我在错误堆栈中收到的最大错误:

java.lang.reflect.UndeclaredThrowableException
    at $Proxy0.createQuery(Unknown Source)

请帮助我,它花了我超过3个小时,但我还没有解决方案。感谢。

1 个答案:

答案 0 :(得分:1)

您唯一需要做的就是链接所有带有hibernate的JAR,如:

  antlr.jar
  cglib.jar
  asm.jar
  asm-attrs.jars
  commons-collections.jar
  commons-logging.jar
  hibernate3.jar
  jta.jar
  dom4j.jar
  log4j.jar

并且您的代码应该可以使用。