2009-09-02 8 views
0

У меня постоянный class Author с двумя полями: int id, String name.Проблема Hql в том, что статья

Проблема заключается в том, что всякий раз, когда я выполнить запрос так:

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

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

Он отлично работает и возвращает мне объект Автор с заполненными полями. Но всякий раз, когда я пытаюсь поставить условие в свой запрос, например:

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

Единственное, что вам нужно сделать, это связать все JARs, которые приходят с Hibernate, как:

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

и ваш код должен работать.

+0

Я только что нашел (не знаю почему) У меня было две версии antlr.jar в папке lib. Удалено и теперь работает. Спасибо за ваши ответы. – craftsman

Смежные вопросы