【问题标题】:Hql problem in where clausewhere子句中的Hql问题
【发布时间】:2009-09-02 10:15:33
【问题描述】:

我有一个持久的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 个多小时,但我还没有解决办法。谢谢。

【问题讨论】:

    标签: java hibernate exception hql


    【解决方案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
    

    你的代码应该可以工作。

    【讨论】:

    • 我刚刚发现(不知道为什么)我的 lib 文件夹中有两个版本的 antlr.jar。删除一个,现在它的工作。感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 2022-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多